📄 treeutil.java
字号:
/*
* Created on 2006-7-11 16:45:29
*
* By SinoBest
* Copyright hnisi.com.cn, 2005-2006, All rights reserved.
*/
package cn.com.juneng.system.common.taglib.tree;
import java.util.HashMap;
import cn.com.juneng.system.common.taglib.tree.impl.SysMenuTreeService;
import cn.com.juneng.system.common.taglib.tree.impl.SysOrgTreeService;
/**
* @author yehailong
*
*/
public class TreeUtil {
private static HashMap treeMap = null;
// 树组件实现的注册
static {
treeMap = new HashMap();
treeMap.put("SYS_ORG", new Object[] { "组织机构", SysOrgTreeService.class });
treeMap.put("SYS_MENU", new Object[] { "系统菜单", SysMenuTreeService.class });
}
/**
* 返回对应的树的实现
*
* @param treeType
* 树类型
* @return 对应的树实现
* @throws Exception
*/
public static ITreeService getTreeService(String treeType, Object[] params)
throws Exception {
if (treeType == null)
throw new Exception("treeType不能为空!");
Object[] temp = (Object[]) treeMap.get(treeType);
if (temp == null)
throw new Exception("对应treeType:" + treeType + "未在TreeUtil中定义!");
Class treeClass = (Class) temp[1];
ITreeService treeService = getTreeService(treeClass, params);
return treeService;
}
public static ITreeService getTreeService(String treeType) throws Exception {
return getTreeService(treeType, null);
}
private static ITreeService getTreeService(Class treeClass, Object[] params)
throws Exception {
// return treeClass.
if (params == null) {
return (ITreeService) treeClass.newInstance();
} else {
Class[] paramsClass = new Class[params.length];
for (int i = 0; i < params.length; i++) {
paramsClass[i] = params[i].getClass();
}
return (ITreeService) treeClass.getConstructor(paramsClass)
.newInstance(params);
}
}
/**
* 返回对应的树的名称
*
* @param treeType
* 树类型
* @return 对应的树名
* @throws Exception
*/
public static String getTreeName(String treeType) throws Exception {
if (treeType == null)
throw new Exception("treeType不能为空!");
Object[] temp = (Object[]) treeMap.get(treeType);
if (temp == null)
throw new Exception("对应treeType:" + treeType + "未在TreeUtil中定义!");
String treeName = (String) temp[0];
return treeName;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -