Class GenericTree<T>

java.lang.Object
org.tasktide.parser.generic_tree.GenericTree<T>
Type Parameters:
T - - Data Type of Tree

public class GenericTree<T> extends Object
Generic implementation of tree
  • Constructor Details

    • GenericTree

      public GenericTree(String delimiter)
      Construct with delimiter
      Parameters:
      delimiter -
  • Method Details

    • getImmutableChildren

      public Map<String, GenericTreeNode<T>> getImmutableChildren(GenericTreeNode<T> node)
      Get children as an immutable map
      Parameters:
      node -
      Returns:
      Map-String, GenericTreeNode
    • getRoot

      public GenericTreeNode<T> getRoot()
      Get root node
      Returns:
      GenericTreeNode-T
    • addChild

      public void addChild(String path, T data)
      Add child under provided address
      Parameters:
      path -
      data -
    • findByAddress

      public GenericTreeNode<T> findByAddress(String path)
      Find GenericTreeNode at provided address
      Parameters:
      path -
      Returns:
      GenericTreeNode-T
    • getDataForAddress

      public T getDataForAddress(String path)
      Fetch data value for address
      Parameters:
      path -
      Returns:
      T
    • removeByAddress

      public boolean removeByAddress(String path)
      Remove address from Tree without reshaping
      Parameters:
      path -
      Returns:
      boolean
    • getChildrenAtAddress

      public Map<String, GenericTreeNode<T>> getChildrenAtAddress(String path)
      Get map of child nodes under address
      Parameters:
      path -
      Returns:
      Map-String, GenericTreeNode-T
    • getChildrenDataAtAddress

      public Map<String,T> getChildrenDataAtAddress(String path, String delim)
      Get map of data values for children under address
      Parameters:
      path -
      delim -
      Returns:
      Map-String, Data
    • findByData

      public GenericTreeNode<T> findByData(T query)
      Find first node matching query depth-first
      Parameters:
      query -
      Returns:
      GenericTreeNode-t
    • containsData

      public boolean containsData(T query)
      Check whether tree contains queried value
      Parameters:
      query -
      Returns:
      query
    • size

      public int size()
      Return size of tree
      Returns:
      int
    • getPathToRoot

      public List<GenericTreeNode<T>> getPathToRoot(GenericTreeNode<T> node)
      Get path to the root node of the tree, from current node
      Parameters:
      node -
      Returns:
      List-GenericTreeNode-T
    • toAddressDataMap

      public Map<String,T> toAddressDataMap()
      Convert tree to a LinkedHashMap of address-node value pairs
      Returns:
      Map-String, Value
    • subStringPathToFlag

      public String subStringPathToFlag(String path, String flag)
      Substring provided path up to a flag using the delimiter of the tree
      Parameters:
      path -
      flag -
      Returns:
      String