package foundation.dao;
|
|
import java.util.Set;
|
|
import foundation.util.MapList;
|
|
public class HostLimit {
|
|
private MapList<String, ItemLimits> allLimitsList;
|
private MapList<String, ItemLimits> writableLimitsList;
|
|
public HostLimit() {
|
allLimitsList = new MapList<String, ItemLimits>();
|
writableLimitsList = new MapList<String, ItemLimits>();
|
}
|
|
public void loadOneItemLimit(ItemLimit itemLimit) {
|
String typeCode = itemLimit.getTypeCode();
|
typeCode = typeCode.toLowerCase();
|
|
//1. add to all
|
ItemLimits limits = allLimitsList.get(typeCode);
|
|
if (limits == null) {
|
limits = new ItemLimits();
|
allLimitsList.add(typeCode, limits);
|
}
|
|
limits.loadOne(itemLimit);
|
|
//2. add to writable
|
if (itemLimit.isReadOnly()) {
|
return;
|
}
|
|
limits = writableLimitsList.get(typeCode);
|
|
if (limits == null) {
|
limits = new ItemLimits();
|
writableLimitsList.add(typeCode, limits);
|
}
|
|
limits.loadOne(itemLimit);
|
}
|
|
public Set<String> itemLimits(String typeCode, boolean includeReadOnly) {
|
ItemLimits result = null;
|
|
if (includeReadOnly) {
|
result = allLimitsList.get(typeCode);
|
}
|
else {
|
result = writableLimitsList.get(typeCode);
|
}
|
|
if (result == null) {
|
return null;
|
}
|
|
return result.getList();
|
}
|
|
}
|