📄 modelupdatenotifier.java.svn-base
字号:
package com.nsi.control.web;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.nsi.control.exceptions.GeneralFailureException;
/**
* @author Chris Ye, created on Oct 6, 2008
*
* ModelUpdateNotifier
*/
public class ModelUpdateNotifier
{
private static Log log = LogFactory.getLog(ModelUpdateNotifier.class);
private Map<String,List<ModelUpdateListener>> listenerMap;
/**
* constructor of ModelUpdateNotifier
*/
public ModelUpdateNotifier()
{
listenerMap = new HashMap<String,List<ModelUpdateListener>>();
}
public void addListener(String modelType, ModelUpdateListener listener)
{
if(listenerMap.get(modelType) == null)
{
List<ModelUpdateListener> listeners = new ArrayList<ModelUpdateListener>();
listeners.add(listener);
listenerMap.put(modelType, listeners);
}
else
{
listenerMap.get(modelType).add(listener);
}
}
public void notifyListeners(List<String> updatedList) throws GeneralFailureException
{
Iterator<String> itr = updatedList.iterator();
while ( itr.hasNext())
{
String modelType = itr.next();
log.debug("notifyListeners() -- modelType[" + modelType + "]");
List<ModelUpdateListener> listeners = listenerMap.get(modelType);
if(listeners != null)
{
Iterator<ModelUpdateListener> iter = listeners.iterator();
while( iter.hasNext() )
{
try
{
log.debug("Invoke ModelUpdateListener.performUpdate()...");
iter.next().performUpdate();
}
catch(GeneralFailureException ge)
{
throw ge;
}
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -