码迷,mamicode.com
首页 > 其他好文 > 详细

原型模式 private static Map<String,Prototype> map = new HashMap<String,Prototype>();

时间:2014-05-01 15:02:37      阅读:307      评论:0      收藏:0      [点我收藏+]

标签:class   get   string   set   type   管理   new   关系   ash   man   static   

public class PrototypeManager {
    /**
     * 用来记录原型的编号和原型实例的对应关系
     */
    private static Map<String,Prototype> map = new HashMap<String,Prototype>();
    /**
     * 私有化构造方法,避免外部创建实例
     */
    private PrototypeManager(){}
    /**
     * 向原型管理器里面添加或是修改某个原型注册
     * @param prototypeId 原型编号
     * @param prototype    原型实例
     */
    public synchronized static void setPrototype(String prototypeId , Prototype prototype){
        map.put(prototypeId, prototype);
    }
    /**
     * 从原型管理器里面删除某个原型注册
     * @param prototypeId 原型编号
     */
    public synchronized static void removePrototype(String prototypeId){
        map.remove(prototypeId);
    }
    /**
     * 获取某个原型编号对应的原型实例
     * @param prototypeId    原型编号
     * @return    原型编号对应的原型实例
     * @throws Exception    如果原型编号对应的实例不存在,则抛出异常
     */
    public synchronized static Prototype getPrototype(String prototypeId) throws Exception{
        Prototype prototype = map.get(prototypeId);
        if(prototype == null){
            throw new Exception("您希望获取的原型还没有注册或已被销毁");
        }
        return prototype;
    }
}

原型模式 private static Map<String,Prototype> map = new HashMap<String,Prototype>();,码迷,mamicode.com

原型模式 private static Map<String,Prototype> map = new HashMap<String,Prototype>();

标签:class   get   string   set   type   管理   new   关系   ash   man   static   

原文地址:http://www.cnblogs.com/Wen-yu-jing/p/3700734.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!