?? modelupdatenotifier.java
字號:
/* */package org.impact.stars.control.web;import java.util.HashMap;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;import org.impact.stars.util.Debug;import org.impact.stars.control.exceptions.GeneralFailureException;import org.impact.stars.control.exceptions.StarsAppException;/** * 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 implements java.io.Serializable { private HashMap listenerMap; public ModelUpdateNotifier() { listenerMap = new HashMap(); } public void notifyListeners(Collection updatedModelList) throws StarsAppException { for (Iterator it1 = updatedModelList.iterator() ; it1.hasNext() ;) { String modelType = (String) it1.next(); Debug.println("notifyListeners: " + modelType); 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("Model update addlistener: " + modelType); if (listenerMap.get(modelType) == null) { ArrayList listeners = new ArrayList(); listeners.add(listener); listenerMap.put(modelType,listeners); } else { ((ArrayList) listenerMap.get(modelType)).add(listener); } }}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -