ResourceList.java

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;

}

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.222.196.175