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

📄 modelupdatenotifier.java.svn-base

📁 一个timesheet程序,用来统计开发人员的度量衡web在线程序.用于软件行业
💻 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 + -