# Class DocTreePath

java.lang.Object
com.sun.source.util.DocTreePath

All Implemented Interfaces:
  `Iterable<DocTree>`

public class DocTreePath extends Object implements Iterable<DocTree>
A path of tree nodes, typically used to represent the sequence of ancestor nodes of a tree node up to the top-level `DocCommentTree` node.

Since:
  1.8

## Constructor Summary

Constructors
Constructor
Description
`DocTreePath(DocTreePath p, DocTree t)`
Creates a `DocTreePath` for a child node.
`DocTreePath(TreePath treePath, DocCommentTree t)`
Creates a `DocTreePath` for a root node.

## Method Summary

Modifier and Type
Method
Description
`DocCommentTree`
`getDocComment()`
Returns the `DocCommentTree` associated with this path.
`DocTree`
`getLeaf()`
Returns the leaf node for this path.
`DocTreePath`
`getParentPath()`
Returns the path for the enclosing node, or `null` if there is no enclosing node.
`static DocTreePath`
`getPath(DocTreePath path, DocTree target)`
Returns a documentation tree path for a tree node within a subtree identified by a `DocTreePath` object, or `null` if the node is not found.
`static DocTreePath`
`getPath(TreePath treePath, DocCommentTree doc, DocTree target)`
Returns a documentation tree path for a tree node within a compilation unit, or `null` if the node is not found.
`TreePath`
`getTreePath()`
Returns the `TreePath` associated with this path.
`Iterator<DocTree>`
`iterator()`
Returns an iterator over elements of type `T`.

### Methods declared in class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
Modifier and Type
Method
Description
`protected Object`
`clone()`
Creates and returns a copy of this object.
`boolean`
`equals(Object obj)`
Indicates whether some other object is "equal to" this one.
`protected void`
`finalize()`
Deprecated, for removal: This API element is subject to removal in a future version.
Finalization is deprecated and subject to removal in a future release.
`final Class<?>`
`getClass()`
Returns the runtime class of this `Object`.
`int`
`hashCode()`
Returns a hash code value for this object.
`final void`
`notify()`
Wakes up a single thread that is waiting on this object's monitor.
`final void`
`notifyAll()`
Wakes up all threads that are waiting on this object's monitor.
`String`
`toString()`
Returns a string representation of the object.
`final void`
`wait()`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
`final void`
`wait(long timeoutMillis)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
`final void`
`wait(long timeoutMillis, int nanos)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

### Methods declared in interface Iterable

`forEach, spliterator`
Modifier and Type
Method
Description
`default void`
`forEach(Consumer<? super DocTree> action)`
Performs the given action for each element of the `Iterable` until all elements have been processed or the action throws an exception.
`default Spliterator<DocTree>`
`spliterator()`
Creates a `Spliterator` over the elements described by this `Iterable`.

## Constructor Details

### DocTreePath

public DocTreePath(TreePath treePath, DocCommentTree t)
Creates a `DocTreePath` for a root node.

Parameters:
  `treePath` - the `TreePath` from which the root node was created
  `t` - the `DocCommentTree` to create the path for

### DocTreePath

public DocTreePath(DocTreePath p, DocTree t)
Creates a `DocTreePath` for a child node.

Parameters:
  `p` - the parent node
  `t` - the child node

## Method Details

### getPath

public static DocTreePath getPath(TreePath treePath, DocCommentTree doc, DocTree target)
Returns a documentation tree path for a tree node within a compilation unit, or `null` if the node is not found.

Parameters:
  `treePath` - the path for the node with which the doc comment is associated
  `doc` - the doc comment associated with the node
  `target` - a node within the doc comment
Returns:
  a path identifying the target within the tree

### getPath

public static DocTreePath getPath(DocTreePath path, DocTree target)
Returns a documentation tree path for a tree node within a subtree identified by a `DocTreePath` object, or `null` if the node is not found.

Parameters:
  `path` - a path identifying a node within a doc comment tree
  `target` - a node to be located within the given node
Returns:
  a path identifying the target node

### getTreePath

public TreePath getTreePath()
Returns the `TreePath` associated with this path.

Returns:
  the `TreePath` for this `DocTreePath`

### getDocComment

public DocCommentTree getDocComment()
Returns the `DocCommentTree` associated with this path.

Returns:
  the `DocCommentTree` for this `DocTreePath`

### getLeaf

public DocTree getLeaf()
Returns the leaf node for this path.

Returns:
  the `DocTree` for this `DocTreePath`

### getParentPath

public DocTreePath getParentPath()
Returns the path for the enclosing node, or `null` if there is no enclosing node.

Returns:
  `DocTreePath` of parent

### iterator

public Iterator<DocTree> iterator()
Description copied from interface: `Iterable`
Returns an iterator over elements of type `T`.

Specified by:
  `iterator` in interface `Iterable<DocTree>`
Returns:
  an Iterator.