package org.ovirt.engine.core.bll.quota;
import org.ovirt.engine.core.common.businessentities.Quota;
import org.ovirt.engine.core.compat.Guid;
public abstract class QuotaConsumptionParameter implements Cloneable{
private Guid quotaGuid;
private Quota quota;
private QuotaAction quotaAction;
protected QuotaConsumptionParameter(Guid quotaGuid, Quota quota, QuotaAction quotaAction) {
this.quotaGuid = quotaGuid;
this.quota = quota;
this.quotaAction = quotaAction;
}
public Guid getQuotaGuid() {
return quotaGuid;
}
public void setQuotaGuid(Guid quotaGuid) {
this.quotaGuid = quotaGuid;
}
public Quota getQuota() {
return quota;
}
public void setQuota(Quota quota) {
this.quota = quota;
}
public QuotaAction getQuotaAction() {
return quotaAction;
}
public void setQuotaAction(QuotaAction quotaAction) {
this.quotaAction = quotaAction;
}
public abstract ParameterType getParameterType();
public static enum QuotaAction {
CONSUME, RELEASE
}
@Override
public abstract QuotaConsumptionParameter clone() throws CloneNotSupportedException;
public enum ParameterType {
STORAGE, CLUSTER, SANITY
}
}