/* ==================================================================
* Created [2009-4-27 下午11:32:55] by Jon.King
* ==================================================================
* TSS
* ==================================================================
* mailTo:jinpujun@hotmail.com
* Copyright (c) Jon.King, 2009-2012
* ==================================================================
*/
package com.jinhe.tss.um.permission.dispaly;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.jinhe.tss.core.util.EasyUtils;
import com.jinhe.tss.core.web.dispaly.tree.ILevelTreeNode;
import com.jinhe.tss.core.web.dispaly.tree.TreeAttributesMap;
import com.jinhe.tss.um.UMConstants;
public class ResourceTreeNode implements ILevelTreeNode, IPermissionOption, Serializable {
private static final long serialVersionUID = -2307491586761933842L;
private Long resourceId; // 资源Id
private Long parentResourceId; // 资源父节点Id
private String resourceName; // 资源名称
public ResourceTreeNode(Object[] resourceInfo) {
this.resourceId = EasyUtils.convertObject2Long(resourceInfo[0]);
this.parentResourceId = EasyUtils.convertObject2Long(resourceInfo[1]);
this.resourceName = (String) resourceInfo[2];
}
public static List<ResourceTreeNode> genResourceTreeNodeList(List<?> resourceList) {
List<ResourceTreeNode> result = new ArrayList<ResourceTreeNode>();
for (Object resourceInfo : resourceList) {
result.add(new ResourceTreeNode((Object[]) resourceInfo));
}
return result;
}
public TreeAttributesMap getAttributes() {
TreeAttributesMap map = new TreeAttributesMap(resourceId, resourceName);
map.put("parentId", this.parentResourceId);
map.put("icon", UMConstants.RESOURCE_TREENODE_ICON);
return map;
}
/**
* 用以记录授权信息(各个权限选项的打勾情况:opt3=1。。。 和 权限维护状态:pstate = (1-仅此节点,2-该节点及所有下层节点)等)
*/
private Map<String, Object> optionInfoMap = new HashMap<String, Object>();
public void putOptionAttribute(String key, Object value) {
optionInfoMap.put(key, value);
}
public Map<String, Object> getOptionAttributes() {
return optionInfoMap;
}
public Long getParentResourceId() {
return parentResourceId;
}
public void setParentResourceId(Long parentResourceId) {
this.parentResourceId = parentResourceId;
}
public Long getResourceId() {
return resourceId;
}
public void setResourceId(Long resourceId) {
this.resourceId = resourceId;
}
public String getResourceName() {
return resourceName;
}
public void setResourceName(String resourceName) {
this.resourceName = resourceName;
}
public Long getParentId() {
return parentResourceId;
}
public Long getId() {
return resourceId;
}
}