NodeParent

public abstract class NodeParent
已知的直接子类
已知的间接子类

可包含一组节点作为子节点的所有类的基类。

NodeScene 类都是 NodeParent。如需将 Node 设为其他 NodeScene 的子级,请使用 setParent(NodeParent)

公共构造函数

公共方法

final void
addChild(Node 子节点)
添加节点作为此 NodeParent 的子节点。
无效
callOnHierarchy(消费者节点>消费者)
遍历层次结构,并在每个节点上调用一个方法。
节点
findByName字符串名称)
遍历层次结构以查找具有给定名称的第一个节点。
节点
findInHierarchy(Predicate<Node>condition)
遍历层次结构以查找第一个满足条件的节点。
final List<Node&g;
getChildren()
返回此父级的子级的不可变列表。
final void
removeChild节点子项)
从此 NodeParent 的子项中移除节点。

受保护的方法

布尔值
canAddChildNode 子节点、StringBuilder失败原因)
无效
无效
onRemoveChildNode 子项)

继承的方法

公共构造函数

public NodeParent ()

公共方法

public final void addChild (Nodechild)

添加节点作为此 NodeParent 的子节点。如果节点已有父节点,则会从旧的父节点中移除。如果节点已是此 NodeParent 的直接子节点,则不会进行任何更改。

参数
儿童 要作为子节点的节点
抛出
IllegalArgumentException 如果子级与父级是同一对象,或者父级是子级的子级

public void callOnHierarchy (Consumer<Node> consumer)

遍历层次结构,并在每个节点上调用一个方法。遍历首先是深入的。如果此 NodeParent 是 Node,则遍历会从此 NodeParent 开始,否则,遍历就会从其子项开始。

参数
使用方 在每个节点上调用的方法。

public Node findByName (String name)

遍历层次结构以查找具有给定名称的第一个节点。遍历首先是深入的。如果此 NodeParent 是 Node,则遍历会从此 NodeParent 开始;否则,遍历就会从其子节点开始。

参数
name 要查找的节点的名称
返回
  • 节点(如果找到),否则为 null

public Node findInHierarchy (Predicate<Node >condition)

遍历层次结构以查找第一个满足条件的节点。遍历首先是深入。如果此 NodeParent 是节点,则遍历从该 NodeParent 开始,否则遍历就会从其子节点开始。

参数
condition 谓词定义要搜索的节点的条件。
返回
  • 第一个与谓词条件匹配的节点,否则返回 null

public final ListNode getChildren ()

返回此父级的子级的不可变列表。

public final void removeChild (Nodechild)

从此 NodeParent 的子项中移除节点。如果节点不是此 NodeParent 的直接子节点,则不会进行任何更改。

参数
儿童 要从子项中移除的节点

受保护的方法

受保护的布尔值 canAddChild (Nodechild, StringBuilderfailReason)

参数
儿童
failureReason

Protect void onAddChild (Node 子级)

参数
儿童

Protect void onRemoveChild (Nodechild)

参数
儿童