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.DocTreeVisitor<R,P>
DocTreePathScanner
public class DocTreeScanner<R,P> extends Object implements DocTreeVisitor<R,P>
Here is an example to count the number of erroneous nodes in a tree:
class CountErrors extends DocTreeScanner<Integer,Void> { @Override public Integer visitErroneous(ErroneousTree node, Void p) { return 1; } @Override public Integer reduce(Integer r1, Integer r2) { return (r1 == null ? 0 : r1) + (r2 == null ? 0 : r2); } }
The default implementation of the visitXYZ methods will determine a result as follows:
null
. scan
with that child. The child may be a simple node or itself a list of nodes. scan
with each child in turn, and then combining the result of each scan after the first with the cumulative result so far, as determined by the reduce(R, R)
method. Each child may be either a simple node or a list of nodes. The default behavior of the reduce
method is such that the result of the visitXYZ method will be the result of the last child scanned. Constructor | Description |
---|---|
DocTreeScanner() |
Constructs a DocTreeScanner . |
Modifier and Type | Method | Description |
---|---|---|
R |
reduce |
Reduces two results into a combined result. |
R |
scan |
Scans a single node. |
R |
scan |
Scans a sequence of nodes. |
R |
visitAttribute |
Visits an AttributeTree node. |
R |
visitAuthor |
Visits an AuthorTree node. |
R |
visitComment |
Visits a CommentTree node. |
R |
visitDeprecated |
Visits a DeprecatedTree node. |
R |
visitDocComment |
Visits a DocCommentTree node. |
R |
visitDocRoot |
Visits a DocRootTree node. |
R |
visitDocType |
Visits a DocTypeTree node. |
R |
visitEndElement |
Visits an EndElementTree node. |
R |
visitEntity |
Visits an EntityTree node. |
R |
visitErroneous |
Visits an ErroneousTree node. |
R |
visitEscape |
Visits an EscapeTree node. |
R |
visitHidden |
Visits a HiddenTree node. |
R |
visitIdentifier |
Visits an IdentifierTree node. |
R |
visitIndex |
Visits an IndexTree node. |
R |
visitInheritDoc |
Visits an InheritDocTree node. |
R |
visitLink |
Visits a LinkTree node. |
R |
visitLiteral |
Visits an LiteralTree node. |
R |
visitOther |
Visits an unknown type of DocTree node. |
R |
visitParam |
Visits a ParamTree node. |
R |
visitProvides |
Visits a ProvidesTree node. |
R |
visitReference |
Visits a ReferenceTree node. |
R |
visitReturn |
Visits a ReturnTree node. |
R |
visitSee |
Visits a SeeTree node. |
R |
visitSerial |
Visits a SerialTree node. |
R |
visitSerialData |
Visits a SerialDataTree node. |
R |
visitSerialField |
Visits a SerialFieldTree node. |
R |
visitSince |
Visits a SinceTree node. |
R |
visitSnippet |
Visits a SnippetTree node. |
R |
visitSpec |
Visits a SpecTree node. |
R |
visitStartElement |
Visits a StartElementTree node. |
R |
visitSummary |
Visits a SummaryTree node. |
R |
visitSystemProperty |
Visits a SystemPropertyTree node. |
R |
visitText |
Visits a TextTree node. |
R |
visitThrows |
Visits a ThrowsTree node. |
R |
visitUnknownBlockTag |
Visits an UnknownBlockTagTree node. |
R |
visitUnknownInlineTag |
Visits an UnknownInlineTagTree node. |
R |
visitUses |
Visits a UsesTree node. |
R |
visitValue |
Visits a ValueTree node. |
R |
visitVersion |
Visits a VersionTree node. |
public DocTreeScanner()
DocTreeScanner
.public R scan(DocTree node, P p)
node
- the node to be scannedp
- a parameter value passed to the visit methodpublic R scan(Iterable<? extends DocTree> nodes, P p)
nodes
- the nodes to be scannedp
- a parameter value to be passed to the visit method for each nodereduce
method.public R reduce(R r1, R r2)
r1
- the first of the values to be combinedr2
- the second of the values to be combinedpublic R visitAttribute(AttributeTree node, P p)
AttributeTree
node.visitAttribute
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitAuthor(AuthorTree node, P p)
AuthorTree
node.visitAuthor
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitComment(CommentTree node, P p)
CommentTree
node.visitComment
in interface DocTreeVisitor<R,P>
null
.node
- the node being visitedp
- a parameter valuepublic R visitDeprecated(DeprecatedTree node, P p)
DeprecatedTree
node.visitDeprecated
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitDocComment(DocCommentTree node, P p)
DocCommentTree
node.visitDocComment
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitDocRoot(DocRootTree node, P p)
DocRootTree
node.visitDocRoot
in interface DocTreeVisitor<R,P>
null
.node
- the node being visitedp
- a parameter valuepublic R visitDocType(DocTypeTree node, P p)
DocTypeTree
node.visitDocType
in interface DocTreeVisitor<R,P>
null
.node
- the node being visitedp
- a parameter valuepublic R visitEndElement(EndElementTree node, P p)
EndElementTree
node.visitEndElement
in interface DocTreeVisitor<R,P>
null
.node
- the node being visitedp
- a parameter valuepublic R visitEntity(EntityTree node, P p)
EntityTree
node.visitEntity
in interface DocTreeVisitor<R,P>
null
.node
- the node being visitedp
- a parameter valuepublic R visitErroneous(ErroneousTree node, P p)
ErroneousTree
node.visitErroneous
in interface DocTreeVisitor<R,P>
null
.node
- the node being visitedp
- a parameter valuepublic R visitEscape(EscapeTree node, P p)
EscapeTree
node.visitEscape
in interface DocTreeVisitor<R,P>
null
.node
- the node being visitedp
- a parameter valuepublic R visitHidden(HiddenTree node, P p)
HiddenTree
node.visitHidden
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitIdentifier(IdentifierTree node, P p)
IdentifierTree
node.visitIdentifier
in interface DocTreeVisitor<R,P>
null
.node
- the node being visitedp
- a parameter valuepublic R visitIndex(IndexTree node, P p)
IndexTree
node.visitIndex
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitInheritDoc(InheritDocTree node, P p)
InheritDocTree
node.visitInheritDoc
in interface DocTreeVisitor<R,P>
null
.node
- the node being visitedp
- a parameter valuepublic R visitLink(LinkTree node, P p)
LinkTree
node.visitLink
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitLiteral(LiteralTree node, P p)
LiteralTree
node.visitLiteral
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitParam(ParamTree node, P p)
ParamTree
node.visitParam
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitProvides(ProvidesTree node, P p)
ProvidesTree
node.visitProvides
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitReference(ReferenceTree node, P p)
ReferenceTree
node.visitReference
in interface DocTreeVisitor<R,P>
null
.node
- the node being visitedp
- a parameter valuepublic R visitReturn(ReturnTree node, P p)
ReturnTree
node.visitReturn
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitSee(SeeTree node, P p)
SeeTree
node.visitSee
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitSerial(SerialTree node, P p)
SerialTree
node.visitSerial
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitSerialData(SerialDataTree node, P p)
SerialDataTree
node.visitSerialData
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitSerialField(SerialFieldTree node, P p)
SerialFieldTree
node.visitSerialField
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitSince(SinceTree node, P p)
SinceTree
node.visitSince
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitSnippet(SnippetTree node, P p)
SnippetTree
node.visitSnippet
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitSpec(SpecTree node, P p)
SpecTree
node.visitSpec
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitStartElement(StartElementTree node, P p)
StartElementTree
node.visitStartElement
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitSummary(SummaryTree node, P p)
SummaryTree
node.visitSummary
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitSystemProperty(SystemPropertyTree node, P p)
SystemPropertyTree
node.visitSystemProperty
in interface DocTreeVisitor<R,P>
null
.node
- the node being visitedp
- a parameter valuepublic R visitText(TextTree node, P p)
TextTree
node.visitText
in interface DocTreeVisitor<R,P>
null
.node
- the node being visitedp
- a parameter valuepublic R visitThrows(ThrowsTree node, P p)
ThrowsTree
node.visitThrows
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitUnknownBlockTag(UnknownBlockTagTree node, P p)
UnknownBlockTagTree
node.visitUnknownBlockTag
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitUnknownInlineTag(UnknownInlineTagTree node, P p)
UnknownInlineTagTree
node.visitUnknownInlineTag
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitUses(UsesTree node, P p)
UsesTree
node.visitUses
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitValue(ValueTree node, P p)
ValueTree
node.visitValue
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitVersion(VersionTree node, P p)
VersionTree
node.visitVersion
in interface DocTreeVisitor<R,P>
node
- the node being visitedp
- a parameter valuepublic R visitOther(DocTree node, P p)
DocTree
node. This can occur if the set of tags evolves and new kinds of nodes are added to the DocTree
hierarchy.visitOther
in interface DocTreeVisitor<R,P>
null
.node
- the node being visitedp
- a parameter value
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/jdk.compiler/com/sun/source/util/DocTreeScanner.html