Module jdk.compiler
Package com.sun.source.util

# 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 java.lang.Object

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

### Methods declared in interface java.lang.Iterable

`forEach, spliterator`

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