⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modelupdatenotifier.java

📁 一个优秀的供应商管理系统
💻 JAVA
字号:
package apusic.myshop.control.web;import java.util.HashMap;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;import apusic.myshop.util.Debug;/** * This class is responsible for providing methods to add objects as listeners * for a particular model update event and for notifying the listeners when the * event actually occurs. */ //观察者模式中的抽象主题public class ModelUpdateNotifier {    private HashMap listenerMap;        //构造函数初始哈西表    public ModelUpdateNotifier() {	    listenerMap = new HashMap();    }        //通知观察者    public void notifyListeners(Collection updatedModelList) {      for (Iterator it1 = updatedModelList.iterator() ; it1.hasNext() ;) {	      String modelType = (String) it1.next();	      Collection listeners = (Collection)listenerMap.get(modelType);        if (listeners != null) {          for (Iterator it2 = listeners.iterator(); it2.hasNext(); ) {		        ((ModelUpdateListener) it2.next()).performUpdate();	        }        }      }    }    //增加观察者    public void addListener(String modelType, Object listener) {	    Debug.println("adding " + listener.toString() + "To" + modelType);	    if (listenerMap.get(modelType) == null) {	      ArrayList listeners = new ArrayList();	      listeners.add(listener);	      listenerMap.put(modelType,listeners);	    } else {	      ((ArrayList) listenerMap.get(modelType)).add(listener);	    }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -