package ProductConfig; import java.util.*; import java.io.PrintStream; public class ResourceList { public ResourceList() { m_resList = new Hashtable(); } public void addResource(String name, int count) { Integer resourceCount = (Integer)m_resList.get(name); if (resourceCount != null) { m_resList.remove(name); m_resList.put(name, new Integer (resourceCount.intValue() + count) ); } else { m_resList.put(name,new Integer(count)); } } public void removeResource(String name, int count) { addResource(name, - count); } // Check if the resource configuration is valid public boolean isValid() { boolean flag = true; for (Enumeration e = m_resList.elements() ; flag && e.hasMoreElements() ; ) { Integer resourceCount = (Integer)e.nextElement(); flag = flag & (resourceCount.intValue() >= 0); } return flag; } public void addResourceList(ResourceList newList1) { // Loop through the keys for (Enumeration e = newList1.m_resList.keys() ; e.hasMoreElements() ; ) { String keyName = (String)e.nextElement(); addResource(keyName, ((Integer)newList1.m_resList.get(keyName)).intValue()); } } public void removeResourceList(ResourceList newList1) { // Loop through the keys for (Enumeration e = newList1.m_resList.keys() ; e.hasMoreElements() ; ) { String keyName = (String)e.nextElement(); removeResource(keyName, ((Integer)newList1.m_resList.get(keyName)).intValue()); } } public String toString() { return Integer.toString(m_resList.size()) + " Elements."; } public void displayResources(PrintStream str) { for (Enumeration e = m_resList.keys() ; e.hasMoreElements() ; ) { String keyName = (String)e.nextElement(); Integer count = (Integer)m_resList.get(keyName); str.println(keyName + " : " + count.toString()); } } private Hashtable m_resList; }
18.222.196.175