/*
* Copyright (c) 2014 EMC Corporation
* All Rights Reserved
*/
package com.emc.storageos.volumecontroller.impl.block;
import com.emc.storageos.db.client.model.StringSet;
import com.emc.storageos.volumecontroller.impl.HostIOLimitsParam;
/**
* Transient policy object to track fast policies and whether the mask has
* cascading storage groups or not.
*/
public class ExportMaskPolicy extends HostIOLimitsParam {
@Override
public String toString() {
return String.format("ExportMaskPolicy [localTierPolicy=%s, tierPolicies=%s, simpleMask=%s, sgName=%s, export-type=%s, igType=%s]",
localTierPolicy, tierPolicies, simpleMask, sgName, exportType, igType);
}
public String localTierPolicy;
public String getLocalTierPolicy() {
return localTierPolicy;
}
public void setLocalTierPolicy(String localTierPolicy) {
this.localTierPolicy = localTierPolicy;
}
public StringSet tierPolicies;
public boolean simpleMask;
public String sgName;
public String igType;
public int maxVolumesAllowed;
public String exportType;
public static enum EXPORT_TYPE {
PHANTOM, REGULAR
}
public static enum IG_TYPE {
SIMPLE, CASCADED
}
public StringSet getTierPolicies() {
return tierPolicies;
}
public void setTierPolicies(StringSet tierPolicies) {
this.tierPolicies = tierPolicies;
}
public boolean isSimpleMask() {
return simpleMask;
}
public void setSimpleMask(boolean simpleMask) {
this.simpleMask = simpleMask;
}
public String getSgName() {
return sgName;
}
public void setSgName(String sgName) {
this.sgName = sgName;
}
public String getExportType() {
if (null == exportType) {
return EXPORT_TYPE.REGULAR.name();
}
return exportType;
}
public void setExportType(String exportType) {
this.exportType = exportType;
}
public String getIgType() {
if (null == igType) {
return IG_TYPE.SIMPLE.name();
}
return igType;
}
public void setIgType(String igType) {
this.igType = igType;
}
public boolean isCascadedIG() {
return IG_TYPE.CASCADED.name().equalsIgnoreCase(getIgType());
}
public int getMaxVolumesAllowed() {
return maxVolumesAllowed;
}
public void setMaxVolumesAllowed(int maxVolumesAllowed) {
this.maxVolumesAllowed = maxVolumesAllowed;
}
}