package com.walker.cache.tree; import java.util.Collection; import java.util.List; /** * 缓存树节点对象定义 * @author shikeying * */ public interface CacheTreeNode extends Comparable { String getKey(); String getText(); String getParentId(); void setParentId(String parentId); /** * 返回原始业务数据,如果没有保留原始业务数据,返回null * @return */ Object getSource(); int getOrder(); /** * 获得节点图标,如果没有就用默认的 * @return */ String getIcon(); CacheTreeNode setOrder(int orderNum); boolean hasChild(); int getChildrenSize(); Collection getChildren(); void addChild(CacheTreeNode node); /** * 根据给定的key值,找出当前节点下面,子节点中的节点。 * @param key 要查找的节点key * @return */ CacheTreeNode search(String key); /** * 删除树中某个节点 * @param key 节点的ID */ CacheTreeNode remove(String key); /** * 把给定的属性克隆(替换)到当前对象中 * @param node */ void cloneProperties(CacheTreeNode node); /** * 判断节点是否被选择,默认未选择 * @return */ boolean isChecked(); /** * 判断节点是否打开,默认否 * @return */ boolean isOpen(); /** * 设置节点是否被选择 * @param bool */ void setChecked(boolean bool); /** * 设置节点是否打开 * @param bool */ void setOpen(boolean bool); void setIcon(String icon); /** * 简单拷贝,仅复制对象自己内容,不管子节点内容 * @return */ CacheTreeNode copy(); /** * 搜索树内容,支持模糊查询,返回多个节点 * @param keyLike * @return */ List searchLike(String keyLike); List searchLike(String[] keyLike); }