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 a 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 VersionTree 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 the provided `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 the provided `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 the provided `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 the provided `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 the provided `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 the provided `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 VersionTree 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