DocTreePath (Java SE 22 & JDK 22)
Description: declaration: module: jdk.compiler, package: com.sun.source.util, class: DocTreePath
Keywords: com.sun.source.util.DocTreePath class

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.