Class Tree.Entry<E>

  • Enclosing class:
    Tree<E>

    public static class Tree.Entry<E>
    extends Object
    Represents an entry for a node in the tree. The entry contains information about the parent and child nodes, and the depth of the entry within the tree.
    • Field Detail

      • tree

        private final Tree<E> tree
      • node

        private final E node
      • depth

        private final int depth
    • Method Detail

      • getNode

        public E getNode()
        Get the node element object.
        Returns:
        The node elemenet of this entry
      • getParent

        public Tree.Entry<E> getParent()
        Get the entry for the parent node.
        Returns:
        An Entry object or null if this is the root entry
      • getDepth

        public int getDepth()
        Get the depth of this entry within the tree. The root node is at depth 0.
        Returns:
        The depth starting with 0 at the root node
      • addChild

        public Tree.Entry<E> addChild​(E child)
        Add a child to the node.
        Parameters:
        child - The child to add
        Returns:
        The Entry object of the new child node
        Throws:
        IllegalArgumentException - If the child already exists in the tree
      • getNumChildren

        public int getNumChildren()
        Get the number of children added to this node.
        Returns:
        The number of children
      • getChildren

        public List<Tree.Entry<E>> getChildren()
        Get the list of entries for the children to this node.
        Returns:
        A List containing the entries for the children or null if no children has been added to this node
      • isFirstChild

        public boolean isFirstChild​(E child)
        Check if the specified object is the first child to this node.
        Parameters:
        child - The object to check
        Returns:
        TRUE if the object is the first child, FALSE otherwise
      • isLastChild

        public boolean isLastChild​(E child)
        Check if the specified object is the last child to this node.
        Parameters:
        child - The object to check
        Returns:
        TRUE if the object is the last child, FALSE otherwise
      • addChildEntry

        private void addChildEntry​(Tree.Entry<E> child)