public class BusinessObjectFactory
{
private static BusinessObjectFactory instance;
private Map prototypeMap;
private BusinessObjectFactory()
{
super();
prototypeMap = new Hashtable();
}
public void addPrototype(
String a_id,
BusinessObjectPrototype a_prototype)
{
prototypeMap.put(a_id, a_prototype);
}
public BusinessObject newBusinessObject(
String a_id)
{
BusinessObjectPrototype l_prototype
= (BusinessObjectPrototype) prototypeMap.get(a_id);
if (l_prototype != null) {
return l_prototype.newBusinessObject();
}
return null(); // or return a default instance
}
public static BusinessObjectFactory getInstance()
{
if (instance == null) {
instance = new BusinessObjectFactory();
}
return instance;
}
}