Node - Тип узлаpublic abstract class AbstractTreeNode<Node extends TreeNode> extends Object implements TreeNode<Node>, TreeNodeSetParent<Node>, TreeNodeUpdateParent<Node>, TreeNodeGetNodePath<Node>
| Modifier and Type | Field and Description |
|---|---|
protected static NodesExtracter |
defaultNodesExtracter |
protected Node |
parent
Указывает на родительский узел или null, если нет роди
|
| Constructor and Description |
|---|
AbstractTreeNode() |
| Modifier and Type | Method and Description |
|---|---|
int |
getIndex()
Возвращает собственный дочерний индекс
|
static int |
getIndex(TreeNode thisNode)
Возвращает собственный дочерний индекс
|
Node |
getNextSibling()
Возвращает следующий соседний узел
|
List<Node> |
getNodePath()
Возвращает путь от корня к узлу
|
static List |
getNodePath(TreeNode node)
Возвращает путь от корня к узлу
|
Node |
getParent()
Возвращает родительский узел
|
Node |
getPreviousSibling()
Возвращает предыдущий соседний узел
|
Node |
getSibling(int offset)
Возвращает соседний узел
|
static Object |
getSibling(TreeNode thisNode,
int offset)
Возвращает соседний узел
|
void |
setParent(Node tn)
Устанавливает родительский узел
|
protected Object |
syncrun(Func0 run,
String method,
Object... args)
Синхронное выполнение участка кода
|
Iterable<TreeWalk<Node>> |
tree()
Возвращает итератор по узлам дерева
|
static <Node extends TreeNode> |
tree(TreeNode<Node> start,
TreeWalkType walkType)
Обход вершин, начиная с указанной в определенном порядке
|
static <Node extends TreeNode> |
tree(TreeNode<Node> start,
TreeWalkType walkType,
Func1<Boolean,TreeNode<Node>> follow)
Обход вершин, начиная с указанной в определенном порядке
|
Iterable<TreeWalk<Node>> |
tree(TreeWalkType walkType)
Возвращает итератор по узлам дерева
|
boolean |
updateParent(Node oldparent,
Node newparent)
Обновляет родительский узел, только когда текущая ссылка (parent) совпадает со значение oldparent
|
void |
visit(Func1<Boolean,Stack<Node>> visiter)
Обход дерева
|
void |
visit(Func1<Boolean,Stack<Node>> visiter,
Func1<Object,Stack<Node>> exitVisiter)
Обход дерева
|
static <Node extends TreeNode> |
visit(Func1<Boolean,Stack<Node>> visiter,
Func1<Object,Stack<Node>> exitVisiter,
TreeNode<Node> startNode) |
static <Node extends TreeNode> |
visit(Func1<Boolean,Stack<Node>> visiter,
TreeNode<Node> startNode) |
void |
visit(Reciver<Stack<Node>> visiter)
обход вершин древа
|
void |
visit(Reciver<Stack<Node>> visiterEnter,
Reciver<Stack<Node>> visiterExit)
обход вершин древа
|
static <Node extends TreeNode> |
visit(Visitor<Node> visitor,
TreeNode<Node> startNode) |
Iterable<Node> |
walk()
Возвращает итератор по узлам дерева
|
static <Node extends TreeNode> |
walk(TreeNode<Node> start)
Возвращает итератор по узлам дерева
|
static <Node extends TreeNode> |
walk(TreeNode<Node> start,
Func1<Boolean,TreeNode<Node>> follow)
Возвращает итератор по узлам дерева
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetChildrenprotected Node extends TreeNode parent
protected static NodesExtracter defaultNodesExtracter
protected Object syncrun(Func0 run, String method, Object... args)
run - кодmethod - имя метода или nullargs - аргументы или nullpublic static List getNodePath(TreeNode node)
node - узелpublic List<Node> getNodePath()
TreeNodeGetNodePathgetNodePath in interface TreeNodeGetNodePath<Node extends TreeNode>public Node getParent()
TreeNodepublic void setParent(Node tn)
TreeNodeSetParentsetParent in interface TreeNodeSetParent<Node extends TreeNode>tn - Узелpublic boolean updateParent(Node oldparent, Node newparent)
TreeNodeUpdateParentupdateParent in interface TreeNodeUpdateParent<Node extends TreeNode>oldparent - Старый узелnewparent - Новый узелpublic static int getIndex(TreeNode thisNode)
thisNode - Узел для которого возвращает индексpublic int getIndex()
TreeNodepublic Node getSibling(int offset)
TreeNodegetSibling in interface TreeNode<Node extends TreeNode>offset - Смещение от текущегоpublic Node getNextSibling()
TreeNodegetNextSibling in interface TreeNode<Node extends TreeNode>public Node getPreviousSibling()
TreeNodegetPreviousSibling in interface TreeNode<Node extends TreeNode>public static Object getSibling(TreeNode thisNode, int offset)
thisNode - Узел относительно которого происходит смещениеoffset - Смещение от узлаpublic Iterable<TreeWalk<Node>> tree(TreeWalkType walkType)
walkType - Тип обходаpublic static <Node extends TreeNode> Iterable<TreeWalk<Node>> tree(TreeNode<Node> start, TreeWalkType walkType)
Node - Тип вершины (узла дерева)start - Начальная вершинаwalkType - Тип обхода, null - ByBranchForwardpublic static <Node extends TreeNode> Iterable<TreeWalk<Node>> tree(TreeNode<Node> start, TreeWalkType walkType, Func1<Boolean,TreeNode<Node>> follow)
Node - Тип вершины (узла дерева)start - Начальная вершинаwalkType - Тип обходаfollow - Функция проверки обхода (возможно null)public static <Node extends TreeNode> Iterable<Node> walk(TreeNode<Node> start, Func1<Boolean,TreeNode<Node>> follow)
Node - Тип узлаstart - Начальный узелfollow - Функция проверки обхода (возможно null)public static <Node extends TreeNode> Iterable<Node> walk(TreeNode<Node> start)
Node - Тип узлаstart - Начальный узелpublic static <Node extends TreeNode> void visit(Visitor<Node> visitor, TreeNode<Node> startNode)
public void visit(Reciver<Stack<Node>> visiter)
TreeNodepublic void visit(Reciver<Stack<Node>> visiterEnter, Reciver<Stack<Node>> visiterExit)
TreeNodepublic void visit(Func1<Boolean,Stack<Node>> visiter, Func1<Object,Stack<Node>> exitVisiter)
public void visit(Func1<Boolean,Stack<Node>> visiter)
visiter - функция посещения узла, если вернет true - то будет продолжен движение вглубь по дереву.
возможно null.public static <Node extends TreeNode> void visit(Func1<Boolean,Stack<Node>> visiter, Func1<Object,Stack<Node>> exitVisiter, TreeNode<Node> startNode)
Copyright © 2017. All rights reserved.