📄 presentmanager.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 + -