Package org.abego.treelayout.util
Class AbstractTreeForTreeLayout<TreeNode>
java.lang.Object
org.abego.treelayout.util.AbstractTreeForTreeLayout<TreeNode>
- Type Parameters:
TreeNode
- Type of elements used as nodes in the tree
- All Implemented Interfaces:
TreeForTreeLayout<TreeNode>
- Direct Known Subclasses:
DefaultTreeForTreeLayout
public abstract class AbstractTreeForTreeLayout<TreeNode>
extends Object
implements TreeForTreeLayout<TreeNode>
Provides an easy way to implement the
TreeForTreeLayout
interface by
defining just two simple methods and a constructor.
To use this class the underlying tree must provide the children as a list
(see getChildrenList(Object)
and give direct access to the parent of
a node (see getParent(Object)
).
See also DefaultTreeForTreeLayout
.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetChildren
(TreeNode node) Returns the children of a parent node.getChildrenList
(TreeNode node) Return the children of a node as aList
.getChildrenReverse
(TreeNode node) Returns the children of a parent node, in reverse order.getFirstChild
(TreeNode parentNode) Returns the first child of a parent node.getLastChild
(TreeNode parentNode) Returns the last child of a parent node.abstract TreeNode
Returns the parent of a node, if it has one.getRoot()
Returns the the root of the tree.boolean
isChildOfParent
(TreeNode node, TreeNode parentNode) Tells if a node is a child of a given parentNode.boolean
Tells if a node is a leaf in the tree.
-
Field Details
-
root
-
-
Constructor Details
-
AbstractTreeForTreeLayout
-
-
Method Details
-
getParent
Returns the parent of a node, if it has one.Time Complexity: O(1)
- Parameters:
node
-- Returns:
- [nullable] the parent of the node, or null when the node is a root.
-
getChildrenList
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.
- Parameters:
node
-- Returns:
- the children of the given node. When node is a leaf the list is empty.
-
getRoot
Description copied from interface:TreeForTreeLayout
Returns the the root of the tree.Time Complexity: O(1)
- Specified by:
getRoot
in interfaceTreeForTreeLayout<TreeNode>
- Returns:
- the root of the tree
-
isLeaf
Description copied from interface:TreeForTreeLayout
Tells if a node is a leaf in the tree.Time Complexity: O(1)
- Specified by:
isLeaf
in interfaceTreeForTreeLayout<TreeNode>
- Parameters:
node
-- Returns:
- true iff node is a leaf in the tree, i.e. has no children.
-
isChildOfParent
Description copied from interface:TreeForTreeLayout
Tells if a node is a child of a given parentNode.Time Complexity: O(1)
- Specified by:
isChildOfParent
in interfaceTreeForTreeLayout<TreeNode>
- Parameters:
node
-parentNode
-- Returns:
- true iff the node is a child of the given parentNode
-
getChildren
Description copied from interface:TreeForTreeLayout
Returns the children of a parent node.Time Complexity: O(1)
- Specified by:
getChildren
in interfaceTreeForTreeLayout<TreeNode>
- Parameters:
node
- [!isLeaf(parentNode)]- Returns:
- the children of the given parentNode, from first to last
-
getChildrenReverse
Description copied from interface:TreeForTreeLayout
Returns the children of a parent node, in reverse order.Time Complexity: O(1)
- Specified by:
getChildrenReverse
in interfaceTreeForTreeLayout<TreeNode>
- Parameters:
node
- [!isLeaf(parentNode)]- Returns:
- the children of given parentNode, from last to first
-
getFirstChild
Description copied from interface:TreeForTreeLayout
Returns the first child of a parent node.Time Complexity: O(1)
- Specified by:
getFirstChild
in interfaceTreeForTreeLayout<TreeNode>
- Parameters:
parentNode
- [!isLeaf(parentNode)]- Returns:
- the first child of the parentNode
-
getLastChild
Description copied from interface:TreeForTreeLayout
Returns the last child of a parent node.Time Complexity: O(1)
- Specified by:
getLastChild
in interfaceTreeForTreeLayout<TreeNode>
- Parameters:
parentNode
- [!isLeaf(parentNode)]- Returns:
- the last child of the parentNode
-