Module jdk.compiler
Package 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`

    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

Modifier and Type | Method | Description
--- | --- | ---
`R` | `visitAttribute​(AttributeTree node, P p)` | Visits an AttributeTree node.
`R` | `visitAuthor​(AuthorTree node, P p)` | Visits an AuthorTree node.
`R` | `visitComment​(CommentTree node, P p)` | Visits a CommentTree node.
`R` | `visitDeprecated​(DeprecatedTree node, P p)` | Visits a DeprecatedTree node.
`R` | `visitDocComment​(DocCommentTree node, P p)` | Visits a DocCommentTree node.
`R` | `visitDocRoot​(DocRootTree node, P p)` | Visits a DocRootTree node.
`default R` | `visitDocType​(DocTypeTree node, P p)` | Visits a DocTypeTree node.
`R` | `visitEndElement​(EndElementTree node, P p)` | Visits an EndElementTree node.
`R` | `visitEntity​(EntityTree node, P p)` | Visits an EntityTree node.
`R` | `visitErroneous​(ErroneousTree node, P p)` | Visits an ErroneousTree node.
`default R` | `visitHidden​(HiddenTree node, P p)` | Visits a HiddenTree node.
`R` | `visitIdentifier​(IdentifierTree node, P p)` | Visits an IdentifierTree node.
`default R` | `visitIndex​(IndexTree node, P p)` | Visits an IndexTree node.
`R` | `visitInheritDoc​(InheritDocTree node, P p)` | Visits an InheritDocTree node.
`R` | `visitLink​(LinkTree node, P p)` | Visits a LinkTree node.
`R` | `visitLiteral​(LiteralTree node, P p)` | Visits an LiteralTree node.
`R` | `visitOther​(DocTree node, P p)` | Visits an unknown type of DocTree node.
`R` | `visitParam​(ParamTree node, P p)` | Visits a ParamTree node.
`default R` | `visitProvides​(ProvidesTree node, P p)` | Visits a ProvidesTree node.
`R` | `visitReference​(ReferenceTree node, P p)` | Visits a ReferenceTree node.
`R` | `visitReturn​(ReturnTree node, P p)` | Visits a ReturnTree node.
`R` | `visitSee​(SeeTree node, P p)` | Visits a SeeTree node.
`R` | `visitSerial​(SerialTree node, P p)` | Visits a SerialTree node.
`R` | `visitSerialData​(SerialDataTree node, P p)` | Visits a SerialDataTree node.
`R` | `visitSerialField​(SerialFieldTree node, P p)` | Visits a SerialFieldTree node.
`R` | `visitSince​(SinceTree node, P p)` | Visits a SinceTree node.
`R` | `visitStartElement​(StartElementTree node, P p)` | Visits a StartElementTree node.
`default R` | `visitSummary​(SummaryTree node, P p)` | Visits a SummaryTree node.
`default R` | `visitSystemProperty​(SystemPropertyTree node, P p)` | Visits a SystemPropertyTree node.
`R` | `visitText​(TextTree node, P p)` | Visits a TextTree node.
`R` | `visitThrows​(ThrowsTree node, P p)` | Visits a ThrowsTree node.
`R` | `visitUnknownBlockTag​(UnknownBlockTagTree node, P p)` | Visits an UnknownBlockTagTree node.
`R` | `visitUnknownInlineTag​(UnknownInlineTagTree node, P p)` | Visits an UnknownInlineTagTree node.
`default R` | `visitUses​(UsesTree node, P p)` | Visits a UsesTree node.
`R` | `visitValue​(ValueTree node, P p)` | Visits a ValueTree node.
`R` | `visitVersion​(VersionTree node, P p)` | Visits a VersionTreeTree node.

## Method Details

### visitAttribute

R visitAttribute​(AttributeTree node, P p)
Visits an AttributeTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitAuthor

R visitAuthor​(AuthorTree node, P p)
Visits an AuthorTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitComment

R visitComment​(CommentTree node, P p)
Visits a CommentTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitDeprecated

R visitDeprecated​(DeprecatedTree node, P p)
Visits a DeprecatedTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitDocComment

R visitDocComment​(DocCommentTree node, P p)
Visits a DocCommentTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitDocRoot

R visitDocRoot​(DocRootTree node, P p)
Visits a DocRootTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitDocType

default R visitDocType​(DocTypeTree node, P p)
Visits a DocTypeTree node.

Implementation Requirements:
  Visits a `DocTypeTree` node by calling `visitOther(node, p)`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value
Since:
  10

### visitEndElement

R visitEndElement​(EndElementTree node, P p)
Visits an EndElementTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitEntity

R visitEntity​(EntityTree node, P p)
Visits an EntityTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitErroneous

R visitErroneous​(ErroneousTree node, P p)
Visits an ErroneousTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitHidden

default R visitHidden​(HiddenTree node, P p)
Visits a HiddenTree node.

Implementation Requirements:
  Visits a `HiddenTree` node by calling `visitOther(node, p)`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value
Since:
  9

### visitIdentifier

R visitIdentifier​(IdentifierTree node, P p)
Visits an IdentifierTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitIndex

default R visitIndex​(IndexTree node, P p)
Visits an IndexTree node.

Implementation Requirements:
  Visits an `IndexTree` node by calling `visitOther(node, p)`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value
Since:
  9

### visitInheritDoc

R visitInheritDoc​(InheritDocTree node, P p)
Visits an InheritDocTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitLink

R visitLink​(LinkTree node, P p)
Visits a LinkTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitLiteral

R visitLiteral​(LiteralTree node, P p)
Visits an LiteralTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitParam

R visitParam​(ParamTree node, P p)
Visits a ParamTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitProvides

default R visitProvides​(ProvidesTree node, P p)
Visits a ProvidesTree node.

Implementation Requirements:
  Visits a `ProvidesTree` node by calling `visitOther(node, p)`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value
Since:
  9

### visitReference

R visitReference​(ReferenceTree node, P p)
Visits a ReferenceTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitReturn

R visitReturn​(ReturnTree node, P p)
Visits a ReturnTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitSee

R visitSee​(SeeTree node, P p)
Visits a SeeTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitSerial

R visitSerial​(SerialTree node, P p)
Visits a SerialTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitSerialData

R visitSerialData​(SerialDataTree node, P p)
Visits a SerialDataTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitSerialField

R visitSerialField​(SerialFieldTree node, P p)
Visits a SerialFieldTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitSince

R visitSince​(SinceTree node, P p)
Visits a SinceTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitStartElement

R visitStartElement​(StartElementTree node, P p)
Visits a StartElementTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitSummary

default R visitSummary​(SummaryTree node, P p)
Visits a SummaryTree node.

Implementation Requirements:
  Visits a `SummaryTree` node by calling `visitOther(node, p)`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value
Since:
  10

### visitSystemProperty

default R visitSystemProperty​(SystemPropertyTree node, P p)
Visits a SystemPropertyTree node.

Implementation Requirements:
  Visits a `SystemPropertyTree` node by calling `visitOther(node, p)`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value
Since:
  12

### visitText

R visitText​(TextTree node, P p)
Visits a TextTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitThrows

R visitThrows​(ThrowsTree node, P p)
Visits a ThrowsTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitUnknownBlockTag

R visitUnknownBlockTag​(UnknownBlockTagTree node, P p)
Visits an UnknownBlockTagTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitUnknownInlineTag

R visitUnknownInlineTag​(UnknownInlineTagTree node, P p)
Visits an UnknownInlineTagTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitUses

default R visitUses​(UsesTree node, P p)
Visits a UsesTree node.

Implementation Requirements:
  Visits a `UsesTree` node by calling `visitOther(node, p)`.
Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value
Since:
  9

### visitValue

R visitValue​(ValueTree node, P p)
Visits a ValueTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitVersion

R visitVersion​(VersionTree node, P p)
Visits a VersionTreeTree node.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value

### visitOther

R visitOther​(DocTree node, P p)
Visits an unknown type of DocTree node. This can occur if the set of tags evolves and new kinds of nodes are added to the `DocTree` hierarchy.

Parameters:
  `node` - the node being visited
  `p` - a parameter value
Returns:
  a result value