Interface ITree<V,​T>

  • Type Parameters:
    V - the generic type of the value
    T - the generic type of the concrete tree node
    All Superinterfaces:
    java.io.Serializable

    public interface ITree<V,​T>
    extends java.io.Serializable
    The Interface ITree holds the children in a Collection object
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void addChild​(T child)
      Adds the given child
      void addChildren​(@NonNull java.util.Collection<T> children)
      Adds all the given children
      void clearAll()
      Removes all the descendants
      void clearChildren()
      Removes all the children
      boolean contains​(T treeNode)
      Checks if the given ITree object is a descendant of this tree node
      boolean containsAll​(@NonNull java.util.Collection<T> treeNodes)
      Checks if the given Collection object of ITree objects are descendants of this tree node
      java.util.Collection<T> findAllByValue​(V value)
      Find all ITree objects that have the same value as the given value
      T findByValue​(V value)
      Find all ITree objects that have the same value as the given value
      java.util.Collection<T> getAllSiblings()
      Returns all siblings of this node in the parent's children list.
      int getChildCount()
      Gets the child count.
      java.util.Collection<T> getChildren()
      Gets the children.
      java.lang.String getDisplayValue()
      Gets the optional display value.
      int getLevel()
      Returns the distance from the root to this node.
      T getNextSibling()
      Returns the next sibling of this node in the parent's children list.
      T getParent()
      Gets the parent.
      T getPreviousSibling()
      Returns the previous sibling of this node in the parent's children list.
      T getRoot()
      Gets the root object
      V getValue()
      Gets the value.
      boolean hasChildren()
      Checks for children.
      boolean hasParent()
      Checks for parent
      boolean isLeaf()
      Checks if is leaf.
      boolean isNode()
      Checks if is node.
      boolean isRoot()
      Checks if this ITree is the root ITree object
      void removeChild​(T child)
      Removes the child.
      void removeChildren()
      Removes all the children
      void removeChildren​(@NonNull java.util.Collection<T> children)
      Removes all the given children
      void setChildren​(java.util.Collection<T> children)
      Sets the children.
      void setDisplayValue​(java.lang.String displayValue)
      Sets the optional display value.
      void setLeaf​(boolean leaf)
      Sets the flag that indicates if this tree node is a node or a leaf
      void setParent​(T parent)
      Sets the parent.
      void setValue​(V value)
      Sets the value.
      java.util.List<T> toList()
      Traverse this node and adds all descendant with this included in to a List object
      java.util.Collection<T> traverse()
      Traverse this node and adds all descendant with this included in to a Collection object
    • Method Detail

      • addChild

        void addChild​(T child)
        Adds the given child
        Parameters:
        child - the child
      • addChildren

        void addChildren​(@NonNull
                         @NonNull java.util.Collection<T> children)
        Adds all the given children
        Parameters:
        children - the children to add
      • getAllSiblings

        java.util.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.
        Returns:
        the child count
      • getChildren

        java.util.Collection<T> getChildren()
        Gets the children.
        Returns:
        the children
      • setChildren

        void setChildren​(java.util.Collection<T> children)
        Sets the children.
        Parameters:
        children - the new children
      • getDisplayValue

        java.lang.String getDisplayValue()
        Gets the optional display value.
        Returns:
        the display value
      • setDisplayValue

        void setDisplayValue​(java.lang.String displayValue)
        Sets the optional display value.
        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.
        Returns:
        the parent
      • setParent

        void setParent​(T parent)
        Sets the parent.
        Parameters:
        parent - the new parent
      • getRoot

        T getRoot()
        Gets the root object
        Returns:
        the root object
      • getValue

        V getValue()
        Gets the value.
        Returns:
        the value
      • setValue

        void setValue​(V value)
        Sets the value.
        Parameters:
        value - the new value
      • hasChildren

        boolean hasChildren()
        Checks for children.
        Returns:
        true, if successful
      • hasParent

        boolean hasParent()
        Checks for parent
        Returns:
        true, if successful
      • isLeaf

        boolean isLeaf()
        Checks if is leaf.
        Returns:
        true, if is leaf
      • 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
      • isNode

        boolean isNode()
        Checks if is node.
        Returns:
        true, if is node
      • isRoot

        boolean isRoot()
        Checks if this ITree is the root ITree object
        Returns:
        true, if this ITree is the root ITree object
      • removeChild

        void removeChild​(T child)
        Removes the child.
        Parameters:
        child - the child
      • clearChildren

        void clearChildren()
        Removes all the children
      • clearAll

        void clearAll()
        Removes all the descendants
      • removeChildren

        void removeChildren()
        Removes all the children
      • removeChildren

        void removeChildren​(@NonNull
                            @NonNull java.util.Collection<T> children)
        Removes all the given children
        Parameters:
        children - the children to remove
      • findAllByValue

        java.util.Collection<T> findAllByValue​(V value)
        Find all ITree 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

        T findByValue​(@NonNull
                      V value)
        Find all ITree 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
      • contains

        boolean contains​(T treeNode)
        Checks if the given ITree 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

        boolean containsAll​(@NonNull
                            @NonNull java.util.Collection<T> treeNodes)
        Checks if the given Collection object of ITree objects are descendants of this tree node
        Parameters:
        treeNodes - the children to add
        Returns:
        true if the given Collection object of ITree objects are descendants of this tree node otherwise false
      • toList

        java.util.List<T> toList()
        Traverse this node and adds all descendant with this included in to a List object
        Returns:
        a List object with this node and add all descendant
      • traverse

        java.util.Collection<T> traverse()
        Traverse this node and adds all descendant with this included in to a Collection object
        Returns:
        a Collection object with this node and add all descendant