# Class TreePath

java.lang.Object
org.eclipse.jface.viewers.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 Summary

Fields
Modifier and Type
Field
Description
`static final TreePath`
`EMPTY`
Constant for representing an empty tree path.

## Constructor Summary

Constructors
Constructor
Description
`TreePath(Object[] segments)`
Constructs a path identifying a leaf node in a tree.

## Method Summary

Modifier and Type
Method
Description
`TreePath`
`createChildPath(Object newSegment)`
Returns a copy of this tree path with the given segment added at the end.
`boolean`
`equals(Object other)`
`boolean`
`equals(TreePath otherPath, IElementComparer comparer)`
Returns whether this path is equivalent to the given path using the specified comparer to compare individual elements.
`Object`
`getFirstSegment()`
Returns the first element in this path, or `null` if this path has no segments.
`Object`
`getLastSegment()`
Returns the last element in this path, or `null` if this path has no segments.
`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.
`Object`
`getSegment(int index)`
Returns the element at the specified index in this path.
`int`
`getSegmentCount()`
Returns the number of elements in this path.
`int`
`hashCode()`
`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.
`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.

### Methods inherited from class Object

`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### EMPTY

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

## Constructor Details

### 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 Details

### 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

### equals

public boolean equals(Object other)

Overrides:
  `equals` in class `Object`

### 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