import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map;
/**
* 对象工厂类
* */
public class ObjectFactory {
public static final String SINGLETON="singleton"; //单例
public static final String PROTOTYPE="prototype"; //原型
public static Map<String,Object> map = new Hashtable<String,Object>();
public static synchronized Object createOject(Class clazz,String scope) throws ClassNotFoundException, InstantiationException, IllegalAccessException{
if(clazz==null) return null;
Object object = null;
String classStr = clazz.toString();
if(MyStringUtil.strIsNullOrBlank(classStr) || MyStringUtil.strIsNullOrBlank(scope)) return null;
if(SINGLETON.equals(scope)){
if(map.containsKey(classStr)){
return map.get(classStr);
}else{
object = createObject(classStr);
map.put(classStr, object);
}
}else if(PROTOTYPE.equals(scope)){
object = createObject(classStr);
}
return object;
}
private static Object createObject(String clazz) throws InstantiationException, IllegalAccessException, ClassNotFoundException{
Object object=Class.forName(clazz.toString()).newInstance();
return object;
}
}
ObjectFactory对象工厂类
最新推荐文章于 2024-04-29 09:19:14 发布