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

📄 presentmanager.java~1~

📁 java系统通用框架 很实用的东东 一般人都看的懂,
💻 JAVA~1~
字号:
package com.ibm.bisc.ebiz.base;

/**
 * 此处插入类型描述。
 * 创建日期:(2002-5-15 9:58:48)
 * @author:Administrator
 */
import java.util.*;
import org.w3c.dom.*;
import com.ibm.bisc.ebiz.exception.*;
import com.ibm.bisc.ebiz.util.XMLUtil;

public class PresentManager extends ObjectBase
{
	protected String action;
	protected String defPackage = "";

	protected Hashtable handlerMap = new Hashtable();
/**
 * PresentManager 构造子注解。
 */
public PresentManager() 
{
	super();
}
	public String getAction()
	{
		return action;
	}
	public PresentHandler getHandler(Exception e)
	{
		enter("getHandler(Exception)");

		Hashtable maps = (Hashtable)handlerMap.get(PresentHandler.HANDLER_TAG_EXP);

		Class eClass = e.getClass();
		PresentHandler handler = null;
		while(eClass != null)
		{
			String handlerId = eClass.getName();
			handler = (PresentHandler)maps.get(handlerId);

			if (handler == null)
				eClass = eClass.getSuperclass();
			else
				break;
		}

		leave("getHandler(Exception)");

		return handler;
	}
	public PresentHandler getHandler(String handlerId)
	{
		enter("getHandler(String)");
		Hashtable maps = (Hashtable)handlerMap.get(PresentHandler.HANDLER_TAG_CODE);
		PresentHandler handler = (PresentHandler)maps.get(handlerId);
		leave("getHandler(String)");
		
		return handler;
	}
	public void init(Node cfgNode) throws InvalidConfigException
	{
		enter("init(Node)");
		
		NamedNodeMap attribs = cfgNode.getAttributes();
		Node defPkgNode = attribs.getNamedItem("defPackage");

		if (defPkgNode != null)
			defPackage = defPkgNode.getNodeValue();

		Vector handlers = XMLUtil.selectNodes2(cfgNode , "PresentHandler");
		int size = handlers.size();

		Hashtable codeMap = new Hashtable();
		Hashtable expMap = new Hashtable();

		for(int i = 0 ; i < size ; i ++)
		{
			Node handlerNode = (Node)handlers.elementAt(i);
			PresentHandler handler = new PresentHandler();

			handler.init(handlerNode , defPackage);

			if ((handler.handlerType & PresentHandler.HANDLER_TYPE_CODE) != 0)
				codeMap.put(handler.getHandlerId() , handler);

			if ((handler.handlerType & PresentHandler.HANDLER_TYPE_EXP) != 0)
				expMap.put(handler.getHandlerId() , handler);
		}

		handlerMap.put(PresentHandler.HANDLER_TAG_CODE , codeMap);
		handlerMap.put(PresentHandler.HANDLER_TAG_EXP , expMap);

		leave("init(Node)");
	}

	public String getHashHandlers()
	{
		if(handlerMap == null)
			return "null";
		else{
			Enumeration enum = handlerMap.keys();

			StringBuffer sb = new StringBuffer("handlers in hashtable: {{");
			while(enum.hasMoreElements()){
				Object key = enum.nextElement();
				Object handler = handlerMap.get(key);
				sb.append("[key: ");
				sb.append(key.toString());
				sb.append("handler: ");
				sb.append(handler.toString());
				sb.append("]");
			}
			sb.append("}}");
			return sb.toString();
		}
		
	}
}

⌨️ 快捷键说明

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