Known Direct Subclasses |
Known Indirect Subclasses |
Base class for all classes that can contain a set of nodes as children.
The classes Node
and Scene
are both NodeParents. To make a Node
the
child of another Node
or a Scene
, use setParent(NodeParent)
.
Public Constructors
Public Methods
final void | |
void | |
Node | |
Node |
findInHierarchy(Predicate<Node> condition)
Traverse the hierarchy to find the first node that meets a condition.
|
final List<Node> |
getChildren()
Returns an immutable list of this parent's children.
|
final void |
Protected Methods
boolean | |
void |
onAddChild(Node child)
|
void |
onRemoveChild(Node child)
|
Inherited Methods
Public Constructors
public NodeParent ()
Public Methods
public final void addChild (Node child)
Adds a node as a child of this NodeParent. If the node already has a parent, it is removed from its old parent. If the node is already a direct child of this NodeParent, no change is made.
Parameters
child | the node to add as a child |
---|
Throws
IllegalArgumentException | if the child is the same object as the parent, or if the parent is a descendant of the child |
---|
public void callOnHierarchy (Consumer<Node> consumer)
Traverse the hierarchy and call a method on each node. Traversal is depth first. If this NodeParent is a Node, traversal starts with this NodeParent, otherwise traversal starts with its children.
Parameters
consumer | The method to call on each node. |
---|
public Node findByName (String name)
Traverse the hierarchy to find the first node with a given name. Traversal is depth first. If this NodeParent is a Node, traversal starts with this NodeParent, otherwise traversal starts with its children.
Parameters
name | The name of the node to find |
---|
Returns
- the node if it's found, otherwise null
public Node findInHierarchy (Predicate<Node> condition)
Traverse the hierarchy to find the first node that meets a condition. Traversal is depth first. If this NodeParent is a Node, traversal starts with this NodeParent, otherwise traversal starts with its children.
Parameters
condition | predicate the defines the conditions of the node to search for. |
---|
Returns
- the first node that matches the conditions of the predicate, otherwise null is returned
public final void removeChild (Node child)
Removes a node from the children of this NodeParent. If the node is not a direct child of this NodeParent, no change is made.
Parameters
child | the node to remove from the children |
---|
Protected Methods
protected boolean canAddChild (Node child, StringBuilder failureReason)
Parameters
child | |
---|---|
failureReason |