ObjectFactory对象工厂类

来源:互联网 发布:apache ant 64位 编辑:程序博客网 时间:2024/05/22 13:12
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;}}

0 0
原创粉丝点击