Package io.github.astrapi69.tree.api
Interface ITree<V,T>
- Type Parameters:
V
- the generic type of the valueT
- the generic type of the concrete tree node
- All Superinterfaces:
Serializable
The interface
ITree
represents a generic tree structure-
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds the given child to this tree nodevoid
Adds the given child to this tree nodevoid
addChildren
(@NonNull Collection<T> children) Adds all the given children to this tree nodevoid
clearAll()
Removes all the descendants from this tree nodevoid
Removes all the children from this tree nodeboolean
Checks if the givenITree
object is a descendant of this tree nodeboolean
containsAll
(@NonNull Collection<T> treeNodes) Checks if the givenCollection
object ofITree
objects are descendants of this tree nodefindAllByValue
(V value) Find allITree
objects that have the same value as the given valuefindByValue
(V value) Find the firstITree
object that have the same value as the given valueReturns all siblings of this node in the parent's children list.getChildAt
(int index) Gets the child tree node from the given indexint
Gets the child count of this tree nodeint
getChildIndex
(T child) Gets the index of the given child in this tree nodeGets the children of this tree nodeGets the optional display value of this tree nodeint
getLevel()
Returns the distance from the root to this node.Returns the next sibling of this node in the parent's children list.Gets the parent of this tree nodeReturns the previous sibling of this node in the parent's children list.getRoot()
Gets the root objectgetValue()
Gets the value of this tree nodeboolean
Checks if this tree node has childrenboolean
Checks if this node has a next siblingboolean
Checks if this tree node has a parentboolean
Checks if this node has a previous siblingboolean
isAncestor
(T treeNode) boolean
Checks if the given tree node is a child of this tree nodeboolean
isDescendant
(T treeNode) boolean
isLeaf()
Checks if this node is a leafboolean
isNode()
Checks if this node is a nodeboolean
isRoot()
boolean
void
removeChild
(T child) Removes the given child from this tree nodevoid
Removes all the children from this tree nodevoid
removeChildren
(@NonNull Collection<T> children) Removes all the given children from this tree nodevoid
setChildren
(Collection<T> children) Sets the children of this tree nodevoid
setDisplayValue
(String displayValue) Sets the optional display value of this tree nodevoid
setLeaf
(boolean leaf) Sets the flag that indicates if this tree node is a node or a leafvoid
Sets the parent of this tree nodevoid
Sets the value of this tree nodetoList()
Traverse this node and adds all descendant with this included in to aList
objecttraverse()
Traverse this node and adds all descendant with this included in to aCollection
object
-
Method Details
-
addChild
Adds the given child to this tree node- Parameters:
child
- the child
-
addChild
Adds the given child to this tree node- Parameters:
child
- the childindex
- the index of the child to insert
-
addChildren
Adds all the given children to this tree node- Parameters:
children
- the children to add
-
getAllSiblings
Collection<T> getAllSiblings()Returns all siblings of this node in the parent's children list. Returns null if this node is the root- Returns:
- Returns all siblings of this node or null if this node is the root
-
getPreviousSibling
T getPreviousSibling()Returns the previous sibling of this node in the parent's children list. Returns null if this node is the root or is the parent's first child- Returns:
- the next sibling of this node or null if this node is the root or is the parent's last child
-
getNextSibling
T getNextSibling()Returns the next sibling of this node in the parent's children list. Returns null if this node is the root or is the parent's last child- Returns:
- the next sibling of this node or null if this node is the root or is the parent's last child
-
getChildCount
int getChildCount()Gets the child count of this tree node- Returns:
- the child count
-
getChildren
Collection<T> getChildren()Gets the children of this tree node- Returns:
- the children
-
getChildAt
Gets the child tree node from the given index- Parameters:
index
- the index of the child to get- Returns:
- an
Optional
object with the child tree node from the given index
-
getChildIndex
Gets the index of the given child in this tree node- Parameters:
child
- the child to resolve the index- Returns:
- the index of the given child in this tree node
-
setChildren
Sets the children of this tree node- Parameters:
children
- the new children
-
getDisplayValue
String getDisplayValue()Gets the optional display value of this tree node- Returns:
- the display value
-
setDisplayValue
Sets the optional display value of this tree node- Parameters:
displayValue
- the new optional display value
-
getLevel
int getLevel()Returns the distance from the root to this node. Returns 0 if this node is the root- Returns:
- the level from this node
-
getParent
T getParent()Gets the parent of this tree node- Returns:
- the parent
-
setParent
Sets the parent of this tree node- Parameters:
parent
- the new parent
-
getRoot
T getRoot()Gets the root object- Returns:
- the root object
-
getValue
V getValue()Gets the value of this tree node- Returns:
- the value
-
setValue
Sets the value of this tree node- Parameters:
value
- the new value
-
hasChildren
boolean hasChildren()Checks if this tree node has children- Returns:
- true, if this tree node has children otherwise false
-
isChild
Checks if the given tree node is a child of this tree node- Parameters:
treeNode
- the tree node to check- Returns:
- true, if the given tree node is a child of this tree node otherwise false
-
hasNextSibling
boolean hasNextSibling()Checks if this node has a next sibling- Returns:
- true, if this node has a next sibling otherwise false
-
hasParent
boolean hasParent()Checks if this tree node has a parent- Returns:
- true, if this tree node has a parent otherwise false
-
hasPreviousSibling
boolean hasPreviousSibling()Checks if this node has a previous sibling- Returns:
- true, if this node has a previous sibling otherwise false
-
isLeaf
boolean isLeaf()Checks if this node is a leaf- Returns:
- true, if this node is a leaf otherwise false
-
setLeaf
void setLeaf(boolean leaf) Sets the flag that indicates if this tree node is a node or a leaf- Parameters:
leaf
- The flag to set that indicates if this tree node is a node or a leaf
-
isAncestor
-
isDescendant
-
move
-
isNode
boolean isNode()Checks if this node is a node- Returns:
- true, if this node is a node otherwise false
-
isRoot
boolean isRoot() -
removeChild
Removes the given child from this tree node- Parameters:
child
- the child
-
clearChildren
void clearChildren()Removes all the children from this tree node -
clearAll
void clearAll()Removes all the descendants from this tree node -
removeChildren
void removeChildren()Removes all the children from this tree node -
removeChildren
Removes all the given children from this tree node- Parameters:
children
- the children to remove
-
findAllByValue
Find allITree
objects that have the same value as the given value- Parameters:
value
- the value for the search process- Returns:
- a
Collection
object with all found occurrences that have the same value as the given value
-
findByValue
Find the firstITree
object that have the same value as the given value- Parameters:
value
- the value for the search process- Returns:
- the first
ITree
object that have the same value as the given value
-
contains
Checks if the givenITree
object is a descendant of this tree node- Parameters:
treeNode
- the tree node to check- Returns:
- true if the given
ITree
object is a descendant of this tree node otherwise false
-
containsAll
Checks if the givenCollection
object ofITree
objects are descendants of this tree node- Parameters:
treeNodes
- the tree nodes- Returns:
- true if the given
Collection
of tree node objects are descendants of this tree node otherwise false
-
toList
Traverse this node and adds all descendant with this included in to aList
object- Returns:
- a
List
object with this node and add all descendant
-
traverse
Collection<T> traverse()Traverse this node and adds all descendant with this included in to aCollection
object- Returns:
- a
Collection
object with this node and add all descendant
-