Package org.abego.treelayout.util
Class DefaultTreeForTreeLayout<TreeNode>
java.lang.Object
org.abego.treelayout.util.AbstractTreeForTreeLayout<TreeNode>
org.abego.treelayout.util.DefaultTreeForTreeLayout<TreeNode>
- Type Parameters:
TreeNode
- Type of elements used as nodes in the tree
- All Implemented Interfaces:
TreeForTreeLayout<TreeNode>
Provides a generic implementation for the
TreeForTreeLayout
interface, applicable to any type of tree node.
It allows you to create a tree "from scratch", without creating any new class.
To create a tree you must provide the root of the tree (see
DefaultTreeForTreeLayout(Object)
. Then you can incrementally
construct the tree by adding children to the root or other nodes of the tree
(see addChild(Object, Object)
and
addChildren(Object, Object...)
).
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new instance with a given node as the root -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
addChildren
(TreeNode parentNode, TreeNode... nodes) getChildrenList
(TreeNode node) Return the children of a node as aList
.Returns the parent of a node, if it has one.boolean
Methods inherited from class org.abego.treelayout.util.AbstractTreeForTreeLayout
getChildren, getChildrenReverse, getFirstChild, getLastChild, getRoot, isChildOfParent, isLeaf
-
Field Details
-
emptyList
-
childrenMap
-
parents
-
-
Constructor Details
-
DefaultTreeForTreeLayout
Creates a new instance with a given node as the root- Parameters:
root
- the node to be used as the root.
-
-
Method Details
-
getEmptyList
-
getParent
Description copied from class:AbstractTreeForTreeLayout
Returns the parent of a node, if it has one.Time Complexity: O(1)
- Specified by:
getParent
in classAbstractTreeForTreeLayout<TreeNode>
- Parameters:
node
-- Returns:
- [nullable] the parent of the node, or null when the node is a root.
-
getChildrenList
Description copied from class:AbstractTreeForTreeLayout
Return the children of a node as aList
.Time Complexity: O(1)
Also the access to an item of the list must have time complexity O(1).
A client must not modify the returned list.
- Specified by:
getChildrenList
in classAbstractTreeForTreeLayout<TreeNode>
- Parameters:
node
-- Returns:
- the children of the given node. When node is a leaf the list is empty.
-
hasNode
- Parameters:
node
-- Returns:
- true iff the node is in the tree
-
addChild
- Parameters:
parentNode
- [hasNode(parentNode)]node
- [!hasNode(node)]
-
addChildren
-