server/src/jetbrains/buildServer/sharedResources/model/resources/QuotedResource.java (36 lines of code) (raw):
package jetbrains.buildServer.sharedResources.model.resources;
import java.util.Map;
import org.jetbrains.annotations.NotNull;
/**
* Created with IntelliJ IDEA.
*
* @author Oleg Rybak (oleg.rybak@jetbrains.com)
*/
public class QuotedResource extends AbstractResource {
private static final int QUOTA_INFINITE = -1;
private final int myQuota;
private QuotedResource(@NotNull final String id,
@NotNull final String projectId,
@NotNull String name,
int quota,
boolean state) {
super(id, projectId, name, ResourceType.QUOTED, state);
myQuota = quota;
}
@NotNull
static QuotedResource newResource(@NotNull final String id, @NotNull final String projectId, @NotNull String name, int quota, boolean state) {
return new QuotedResource(id, projectId, name, quota, state);
}
@NotNull
static QuotedResource newInfiniteResource(@NotNull final String id, @NotNull final String projectId, @NotNull String name, boolean state) {
return new QuotedResource(id, projectId, name, QUOTA_INFINITE, state);
}
public boolean isInfinite() {
return myQuota < 0;
}
public int getQuota() {
return myQuota;
}
@NotNull
@Override
public Map<String, String> getParameters() {
final Map<String, String> result = super.getParameters();
result.put("quota", Integer.toString(myQuota));
return result;
}
}