com.sun.source.doctree

## Interface DocTreeVisitor<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 Known Implementing Classes:
    DocTreePathScanner, DocTreeScanner, SimpleDocTreeVisitor

      @Exported
      public interface DocTreeVisitor<R,P>

  A visitor of trees, in the style of the visitor design pattern. Classes implementing this interface are used to operate on a tree when the kind of tree is unknown at compile time. When a visitor is passed to an tree's `accept` method, the `visitXYZ` method most applicable to that tree is invoked.

  Classes implementing this interface may or may not throw a `NullPointerException` if the additional parameter `p` is `null`; see documentation of the implementing class for details.

  WARNING: It is possible that methods will be added to this interface to accommodate new, currently unknown, doc comment structures added to future versions of the Java™ programming language. Therefore, visitor classes directly implementing this interface may be source incompatible with future versions of the platform.

  Since:
    1.8

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `R` | `visitAttribute(AttributeTree node, P p)` |
    `R` | `visitAuthor(AuthorTree node, P p)` |
    `R` | `visitComment(CommentTree node, P p)` |
    `R` | `visitDeprecated(DeprecatedTree node, P p)` |
    `R` | `visitDocComment(DocCommentTree node, P p)` |
    `R` | `visitDocRoot(DocRootTree node, P p)` |
    `R` | `visitEndElement(EndElementTree node, P p)` |
    `R` | `visitEntity(EntityTree node, P p)` |
    `R` | `visitErroneous(ErroneousTree node, P p)` |
    `R` | `visitIdentifier(IdentifierTree node, P p)` |
    `R` | `visitInheritDoc(InheritDocTree node, P p)` |
    `R` | `visitLink(LinkTree node, P p)` |
    `R` | `visitLiteral(LiteralTree node, P p)` |
    `R` | `visitOther(DocTree node, P p)` |
    `R` | `visitParam(ParamTree node, P p)` |
    `R` | `visitReference(ReferenceTree node, P p)` |
    `R` | `visitReturn(ReturnTree node, P p)` |
    `R` | `visitSee(SeeTree node, P p)` |
    `R` | `visitSerial(SerialTree node, P p)` |
    `R` | `visitSerialData(SerialDataTree node, P p)` |
    `R` | `visitSerialField(SerialFieldTree node, P p)` |
    `R` | `visitSince(SinceTree node, P p)` |
    `R` | `visitStartElement(StartElementTree node, P p)` |
    `R` | `visitText(TextTree node, P p)` |
    `R` | `visitThrows(ThrowsTree node, P p)` |
    `R` | `visitUnknownBlockTag(UnknownBlockTagTree node, P p)` |
    `R` | `visitUnknownInlineTag(UnknownInlineTagTree node, P p)` |
    `R` | `visitValue(ValueTree node, P p)` |
    `R` | `visitVersion(VersionTree node, P p)` |

- - ### Method Detail

    - #### visitAttribute

          R visitAttribute(AttributeTree node,
                           P p)

    - #### visitAuthor

          R visitAuthor(AuthorTree node,
                        P p)

    - #### visitComment

          R visitComment(CommentTree node,
                         P p)

    - #### visitDeprecated

          R visitDeprecated(DeprecatedTree node,
                            P p)

    - #### visitDocComment

          R visitDocComment(DocCommentTree node,
                            P p)

    - #### visitDocRoot

          R visitDocRoot(DocRootTree node,
                         P p)

    - #### visitEndElement

          R visitEndElement(EndElementTree node,
                            P p)

    - #### visitEntity

          R visitEntity(EntityTree node,
                        P p)

    - #### visitErroneous

          R visitErroneous(ErroneousTree node,
                           P p)

    - #### visitIdentifier

          R visitIdentifier(IdentifierTree node,
                            P p)

    - #### visitInheritDoc

          R visitInheritDoc(InheritDocTree node,
                            P p)

    - #### visitLink

          R visitLink(LinkTree node,
                      P p)

    - #### visitLiteral

          R visitLiteral(LiteralTree node,
                         P p)

    - #### visitParam

          R visitParam(ParamTree node,
                       P p)

    - #### visitReference

          R visitReference(ReferenceTree node,
                           P p)

    - #### visitReturn

          R visitReturn(ReturnTree node,
                        P p)

    - #### visitSee

          R visitSee(SeeTree node,
                     P p)

    - #### visitSerial

          R visitSerial(SerialTree node,
                        P p)

    - #### visitSerialData

          R visitSerialData(SerialDataTree node,
                            P p)

    - #### visitSerialField

          R visitSerialField(SerialFieldTree node,
                             P p)

    - #### visitSince

          R visitSince(SinceTree node,
                       P p)

    - #### visitStartElement

          R visitStartElement(StartElementTree node,
                              P p)

    - #### visitText

          R visitText(TextTree node,
                      P p)

    - #### visitThrows

          R visitThrows(ThrowsTree node,
                        P p)

    - #### visitUnknownBlockTag

          R visitUnknownBlockTag(UnknownBlockTagTree node,
                                 P p)

    - #### visitUnknownInlineTag

          R visitUnknownInlineTag(UnknownInlineTagTree node,
                                  P p)

    - #### visitValue

          R visitValue(ValueTree node,
                       P p)

    - #### visitVersion

          R visitVersion(VersionTree node,
                         P p)

    - #### visitOther

          R visitOther(DocTree node,
                       P p)

Copyright © 2005, 2026, Oracle and/or its affiliates. All rights reserved.