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 TreeNodeReturns the parent of a node, if it has one.getRoot()Returns the the root of the tree.booleanisChildOfParent(TreeNode node, TreeNode parentNode) Tells if a node is a child of a given parentNode.booleanTells 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:TreeForTreeLayoutReturns the the root of the tree.Time Complexity: O(1)
- Specified by:
getRootin interfaceTreeForTreeLayout<TreeNode>- Returns:
- the root of the tree
-
isLeaf
Description copied from interface:TreeForTreeLayoutTells if a node is a leaf in the tree.Time Complexity: O(1)
- Specified by:
isLeafin interfaceTreeForTreeLayout<TreeNode>- Parameters:
node-- Returns:
- true iff node is a leaf in the tree, i.e. has no children.
-
isChildOfParent
Description copied from interface:TreeForTreeLayoutTells if a node is a child of a given parentNode.Time Complexity: O(1)
- Specified by:
isChildOfParentin interfaceTreeForTreeLayout<TreeNode>- Parameters:
node-parentNode-- Returns:
- true iff the node is a child of the given parentNode
-
getChildren
Description copied from interface:TreeForTreeLayoutReturns the children of a parent node.Time Complexity: O(1)
- Specified by:
getChildrenin interfaceTreeForTreeLayout<TreeNode>- Parameters:
node- [!isLeaf(parentNode)]- Returns:
- the children of the given parentNode, from first to last
-
getChildrenReverse
Description copied from interface:TreeForTreeLayoutReturns the children of a parent node, in reverse order.Time Complexity: O(1)
- Specified by:
getChildrenReversein interfaceTreeForTreeLayout<TreeNode>- Parameters:
node- [!isLeaf(parentNode)]- Returns:
- the children of given parentNode, from last to first
-
getFirstChild
Description copied from interface:TreeForTreeLayoutReturns the first child of a parent node.Time Complexity: O(1)
- Specified by:
getFirstChildin interfaceTreeForTreeLayout<TreeNode>- Parameters:
parentNode- [!isLeaf(parentNode)]- Returns:
- the first child of the parentNode
-
getLastChild
Description copied from interface:TreeForTreeLayoutReturns the last child of a parent node.Time Complexity: O(1)
- Specified by:
getLastChildin interfaceTreeForTreeLayout<TreeNode>- Parameters:
parentNode- [!isLeaf(parentNode)]- Returns:
- the last child of the parentNode
-