package foundation.dao; import java.util.Set; import foundation.util.MapList; public class HostLimit { private MapList allLimitsList; private MapList writableLimitsList; public HostLimit() { allLimitsList = new MapList(); writableLimitsList = new MapList(); } 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 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(); } }