T - 树模型public interface TreeNodeModel<T extends TreeNodeModel<T>>
TreeNodeModel,树结构模型.
| 限定符和类型 | 字段和说明 |
|---|---|
static int |
ROOT_DEPTH
根节点的DEPTH值
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addChildNode(T childNode)
添加子节点
|
void |
addChildNodes(java.util.List<T> childNodes)
批量添加子节点
|
void |
addChildNodes(T... childNodes)
批量添加子节点
|
T |
clone()
复制
|
T |
cloneAsRoot()
复制节点并改变为根节点
|
void |
each(NodeExecutor<T> executor)
该节点及其所有子节点使用传入执行器进行操作
深度优先
|
T |
findProgeny(java.lang.String progenyId)
从子孙节点中找到指定id的节点,并将其返回
|
T |
findProgeny(T progeny)
从子孙节点中找到指定节点,并将其返回.
|
T |
findTreeNode(java.lang.String nodeId)
从子孙节点中找到指定id的节点,并将其返回(包含自身)
|
T |
findTreeNode(T node)
从子孙节点中找到指定节点,并将其返回(包含自身)
|
T |
findTreeNode(TreeNodeMatcher<T> matcher)
从子孙节点中找到第一个匹配的节点,并将其返回(包含自身)
|
java.util.List<T> |
getAncestors()
返回当前节点的所有祖先节点.
|
java.util.List<T> |
getChildNodes()
返回直属下级
|
int |
getChildSize()
返回子节点的数量
|
int |
getDepth()
返回depth
|
java.util.List<T> |
getEveryNode()
返回该节点及其所有子孙节点(包含该节点)
|
T |
getFirstChild()
返回第一个子节点
|
java.lang.String |
getId()
获取唯一标识
|
T |
getLastChild()
返回最后一个子节点
|
T |
getNextSibling()
返回相邻的下一个节点
|
T |
getParent()
返回上级
|
int |
getPosition()
返回自己的位置
|
T |
getPreviousSibling()
返回相邻的上一个节点
|
java.util.List<T> |
getProgenys()
返回该节点下的所有子孙节点(包含下级的下级,不包含该节点).
|
boolean |
hasAncestor(T ancestor)
判断传入节点是否是当前节点的祖先节点,等价
isProgeny(TreeNodeModel). |
boolean |
hasChildNode(T childNode)
返回传入节点是否是当前节点的子节点,等价
isParent(TreeNodeModel). |
boolean |
hasProgeny(T progeny)
判断传入节点是否是当前节点的后裔,等价
isAncestor(TreeNodeModel). |
int |
indexOf(T childNode)
返回指定子节点的序列值(index)
|
void |
insertChildNode(T childNode,
int index)
在指定位置插入子节点
|
void |
insertChildNodeAfter(T childNode,
T refChildNode)
在指定节点(refChildNode)之前插入(insertChildNode)
如果找不到refChildNode就插入在最后
|
void |
insertChildNodeBefore(T childNode,
T refChildNode)
在指定节点(refChildNode)之前插入(insertChildNode)
如果找不到refChildNode就插入在最后
|
boolean |
isAncestor(T progeny)
判断当前节点是否是传入节点的祖先节点,等价
hasProgeny(TreeNodeModel). |
boolean |
isChildNode(T parentNode)
判断当前节点是否是传入节点的子节点
|
boolean |
isFirst()
当前节点是否是第一个节点.
|
boolean |
isLast()
当前节点是否是最后一个节点.
|
boolean |
isLeaf()
返回是否是叶节点(没有子节点)
|
boolean |
isParent(T childNode)
返回当前节点是否是传入节点的父节点,等价
hasChildNode(TreeNodeModel). |
boolean |
isProgeny(T ancestor)
判断当前节点是否是传入节点的后裔,等价
hasAncestor(TreeNodeModel). |
boolean |
isRoot()
返回是否是根
|
void |
mergeChild(T child)
如果传入节点存在,替换节点,不存在就添加
|
void |
remove()
将当前节点从其父节点移出
|
void |
removeChildNode(T childNode)
移出子节点
|
void |
removeChildNodes()
移出所有子节点
|
void |
replaceChild(T newChild,
T oldChild)
替换指定节点
|
void |
sort(java.util.Comparator<T> comparator)
通过传入的指定比较器对该节点的子节点进行排序
|
void |
sort(java.util.Comparator<T> comparator,
boolean containProgeny)
通过传入的指定比较器对该节点的子节点进行排序.
|
static final int ROOT_DEPTH
java.util.List<T> getAncestors()
boolean hasAncestor(T ancestor)
isProgeny(TreeNodeModel).
即 父节点,父节点的父节点...一直到根节点ancestor - 查找节点boolean isProgeny(T ancestor)
hasAncestor(TreeNodeModel).
即 子节点,子节点的子节点....遍历整个节点树ancestor - 查找节点java.util.List<T> getProgenys()
java.util.List<T> getEveryNode()
boolean hasProgeny(T progeny)
isAncestor(TreeNodeModel).
即 子节点,子节点的子节点....遍历整个节点树progeny - 查找节点boolean isAncestor(T progeny)
hasProgeny(TreeNodeModel).
即 父节点,父节点的父节点...一直到根节点progeny - 查找节点T findProgeny(java.lang.String progenyId)
progenyId - 查找节点IDT findTreeNode(TreeNodeMatcher<T> matcher)
matcher - 匹配器T findTreeNode(T node)
node - 查找节点T findTreeNode(java.lang.String nodeId)
nodeId - 超找节点IDvoid each(NodeExecutor<T> executor)
executor - 执行器int indexOf(T childNode)
childNode - 子节点int getPosition()
boolean hasChildNode(T childNode)
isParent(TreeNodeModel).childNode - 子节点boolean isChildNode(T parentNode)
parentNode - 父节点boolean isParent(T childNode)
hasChildNode(TreeNodeModel).childNode - 子节点int getChildSize()
void addChildNode(T childNode)
childNode - 子节点void addChildNodes(T... childNodes)
childNodes - 子节点void addChildNodes(java.util.List<T> childNodes)
childNodes - 子节点void insertChildNode(T childNode, int index)
childNode - 子节点index - 插入位置void insertChildNodeBefore(T childNode, T refChildNode)
childNode - 子节点refChildNode - 插入参考节点void insertChildNodeAfter(T childNode, T refChildNode)
childNode - 子节点refChildNode - 插入参考节点void removeChildNode(T childNode)
childNode - 子节点void removeChildNodes()
void mergeChild(T child)
child - 子节点void remove()
T getFirstChild()
T getLastChild()
T getNextSibling()
T getPreviousSibling()
boolean isFirst()
boolean isLast()
void sort(java.util.Comparator<T> comparator)
comparator - 比较器void sort(java.util.Comparator<T> comparator, boolean containProgeny)
comparator - 比较器containProgeny - 是否包含子孙节点java.lang.String getId()
获取唯一标识
boolean isRoot()
返回是否是根
boolean isLeaf()
返回是否是叶节点(没有子节点)
int getDepth()
T getParent()
返回上级
java.util.List<T> getChildNodes()
返回直属下级
T clone()
复制
T cloneAsRoot()
复制节点并改变为根节点