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

# Class DocTreePathScanner<R,P>

java.lang.Object
com.sun.source.util.DocTreeScanner<R,P>
com.sun.source.util.DocTreePathScanner<R,P>

Type Parameters:
  `R` - the return type of this visitor's methods. Use `Void` for visitors that do not need to return results.
  `P` - the type of the additional parameter to this visitor's methods. Use `Void` for visitors that do not need an additional parameter.

All Implemented Interfaces:
  `DocTreeVisitor<R,P>`

public class DocTreePathScanner<R,P> extends DocTreeScanner<R,P>
A DocTreeVisitor that visits all the child tree nodes, and provides support for maintaining a path for the parent nodes. To visit nodes of a particular type, just override the corresponding visitorXYZ method. Inside your method, call super.visitXYZ to visit descendant nodes.

Since:
  1.8

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DocTreePathScanner()`
  Constructs a `DocTreePathScanner`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `DocTreePath`
  `getCurrentPath()`
  Returns the current path for the node, as built up by the currently active set of scan calls.
  `R`
  `scan(DocTree tree, P p)`
  Scans a single node.
  `R`
  `scan(DocTreePath path, P p)`
  Scans a tree from a position identified by a tree path.

  ### Methods declared in class DocTreeScanner

  `reduce, scan, visitAttribute, visitAuthor, visitComment, visitDeprecated, visitDocComment, visitDocRoot, visitDocType, visitEndElement, visitEntity, visitErroneous, visitEscape, visitHidden, visitIdentifier, visitIndex, visitInheritDoc, visitLink, visitLiteral, visitOther, visitParam, visitProvides, visitRawText, visitReference, visitReturn, visitSee, visitSerial, visitSerialData, visitSerialField, visitSince, visitSnippet, visitSpec, visitStartElement, visitSummary, visitSystemProperty, visitText, visitThrows, visitUnknownBlockTag, visitUnknownInlineTag, visitUses, visitValue, visitVersion`

  ### Methods declared in class Object

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

- ## Constructor Details

  - ### DocTreePathScanner

    public DocTreePathScanner()
    Constructs a `DocTreePathScanner`.

- ## Method Details

  - ### scan

    public R scan(DocTreePath path, P p)
    Scans a tree from a position identified by a tree path.
    Parameters:
      `path` - the path
      `p` - a value to be passed to visitor methods
    Returns:
      the result returned from the main visitor method

  - ### scan

    public R scan(DocTree tree, P p)
    Scans a single node. The current path is updated for the duration of the scan.
    Overrides:
      `scan` in class `DocTreeScanner<R,P>`
    Parameters:
      `tree` - the tree to be scanned
      `p` - a value to be passed to visitor methods
    Returns:
      the result returned from the main visitor method

  - ### getCurrentPath

    public DocTreePath getCurrentPath()
    Returns the current path for the node, as built up by the currently active set of scan calls.
    Returns:
      the current path