package com.vci.client.uif.engine.client.compare.dialog.treenode; import java.util.List; import java.util.Map; import java.util.Set; import javax.swing.tree.DefaultMutableTreeNode; import com.vci.client.uif.engine.client.compare.enumeration.CompareState; /** * Compare树节点对象接口 * @author VCI-STGK006 * */ public interface TreeNodeObject { /** * 主对象 */ public final static int MAINOBJECT = 0; /** * 关系对象 */ public final static int RELATIONOBJECT = 1; /** * 得到主对象或关系对象所有属性 */ public Map attributes(int type); /** * 得到主对象或关系对象属性 * * @param key * @return */ public String getAttribute(String key, int type); /** * 是否是根节点 * 1、控制树节点显示 * @return */ public boolean isRoot(); /** * 得到节点对象标识 * @return */ public String getKey(); /** * 返回主对象 * @return */ public Object getMainObject(); /** * 得到主对象标识 * @return 不存在时返回 null */ public String getMainObjectKey(); /** * 返回关系对象 * @return 不存在时返回 null */ public Object getRelationObject(); /** * 得到关系对象标识 * @return */ public String getRelationObjectKey(); /** * 得到节点比较状态 * 1、控制树节点的显示 * @return */ public CompareState getCompareState(); /** * 设置节点的比较状态 * @param cs */ public void setCompareState(CompareState cs); /** * 设置对象所属树节点 * @param dmtn */ public void setOwnedTreeNode(DefaultMutableTreeNode dmtn); /** * 得到所有使用当前对象的树节点 * @return */ public Set getOwnedTreeNode(); /** * 删除所属树节点 * @param dmtn */ public void removeOwnedTreeNode(DefaultMutableTreeNode dmtn); /** * 与当前节点对应的节点 * @param tno * @return */ public void setRelativeTreeNodeObject(TreeNodeObject tno); /** * 设置当前节点的子节点 * @param tno */ public void setChildNodeList(TreeNodeObject tno); /** * 移除当前节点的子节点对象 * @param tno */ public void removeChildNode(TreeNodeObject tno); /** * 得到当前节点的子几点对象 * @return */ public List getChildNodeList(); }