Class TreePath


  • public final class TreePath
    extends Object
    A tree path denotes a model element in a tree viewer. Tree path objects have value semantics. A model element is represented by a path of elements in the tree from the root element to the leaf element.

    Clients may instantiate this class. Not intended to be subclassed.

    Since:
    3.2
    • Field Detail

      • EMPTY

        public static final TreePath EMPTY
        Constant for representing an empty tree path.
    • Constructor Detail

      • TreePath

        public TreePath​(Object[] segments)
        Constructs a path identifying a leaf node in a tree.
        Parameters:
        segments - path of elements to a leaf node in a tree, starting with the root element
    • Method Detail

      • getSegment

        public Object getSegment​(int index)
        Returns the element at the specified index in this path.
        Parameters:
        index - index of element to return
        Returns:
        element at the specified index
      • getSegmentCount

        public int getSegmentCount()
        Returns the number of elements in this path.
        Returns:
        the number of elements in this path
      • getFirstSegment

        public Object getFirstSegment()
        Returns the first element in this path, or null if this path has no segments.
        Returns:
        the first element in this path
      • getLastSegment

        public Object getLastSegment()
        Returns the last element in this path, or null if this path has no segments.
        Returns:
        the last element in this path
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • hashCode

        public int hashCode​(IElementComparer comparer)
        Returns a hash code computed from the hash codes of the segments, using the given comparer to compute the hash codes of the segments.
        Parameters:
        comparer - comparer to use or null if the segments' hash codes should be computed by calling their hashCode() methods.
        Returns:
        the computed hash code
      • equals

        public boolean equals​(TreePath otherPath,
                              IElementComparer comparer)
        Returns whether this path is equivalent to the given path using the specified comparer to compare individual elements.
        Parameters:
        otherPath - tree path to compare to
        comparer - comparator to use or null if segments should be compared using equals()
        Returns:
        whether the paths are equal
      • startsWith

        public boolean startsWith​(TreePath treePath,
                                  IElementComparer comparer)
        Returns whether this path starts with the same segments as the given path, using the given comparer to compare segments.
        Parameters:
        treePath - path to compare to
        comparer - the comparer to use, or null if equals() should be used to compare segments
        Returns:
        whether the given path is a prefix of this path, or the same as this path
      • getParentPath

        public TreePath getParentPath()
        Returns a copy of this tree path with one segment removed from the end, or null if this tree path has no segments.
        Returns:
        a tree path
      • createChildPath

        public TreePath createChildPath​(Object newSegment)
        Returns a copy of this tree path with the given segment added at the end.
        Parameters:
        newSegment - the segment to be added
        Returns:
        a tree path