java.lang.Object
com.sun.source.util.DocTreeScanner<R,P>
- All Implemented Interfaces:
DocTreeVisitor<R,
P>
- Direct Known Subclasses:
DocTreePathScanner
A DocTreeVisitor that visits all the child tree nodes.
To visit nodes of a particular type, just override the
corresponding visitXYZ method.
Inside your method, call super.visitXYZ to visit descendant
nodes.
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); } }
- Implementation Requirements:
The default implementation of the visitXYZ methods will determine a result as follows:
- If the node being visited has no children, the result will be
null
. - If the node being visited has one child, the result will be the
result of calling
scan
with that child. The child may be a simple node or itself a list of nodes. - If the node being visited has more than one child, the result will
be determined by calling
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 thereduce(R, R)
method. Each child may be either a simple node or a list of nodes. The default behavior of thereduce
method is such that the result of the visitXYZ method will be the result of the last child scanned.
- If the node being visited has no children, the result will be
- Since:
- 1.8
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionReduces two results into a combined result.Scans a single node.Scans a sequence of nodes.visitAttribute
(AttributeTree node, P p) Visits an AttributeTree node.visitAuthor
(AuthorTree node, P p) Visits an AuthorTree node.visitComment
(CommentTree node, P p) Visits a CommentTree node.visitDeprecated
(DeprecatedTree node, P p) Visits a DeprecatedTree node.visitDocComment
(DocCommentTree node, P p) Visits a DocCommentTree node.visitDocRoot
(DocRootTree node, P p) Visits a DocRootTree node.visitDocType
(DocTypeTree node, P p) Visits a DocTypeTree node.visitEndElement
(EndElementTree node, P p) Visits an EndElementTree node.visitEntity
(EntityTree node, P p) Visits an EntityTree node.visitErroneous
(ErroneousTree node, P p) Visits an ErroneousTree node.visitHidden
(HiddenTree node, P p) Visits a HiddenTree node.visitIdentifier
(IdentifierTree node, P p) Visits an IdentifierTree node.visitIndex
(IndexTree node, P p) Visits an IndexTree node.visitInheritDoc
(InheritDocTree node, P p) Visits an InheritDocTree node.Visits a LinkTree node.visitLiteral
(LiteralTree node, P p) Visits an LiteralTree node.visitOther
(DocTree node, P p) Visits an unknown type of DocTree node.visitParam
(ParamTree node, P p) Visits a ParamTree node.visitProvides
(ProvidesTree node, P p) Visits a ProvidesTree node.visitReference
(ReferenceTree node, P p) Visits a ReferenceTree node.visitReturn
(ReturnTree node, P p) Visits a ReturnTree node.Visits a SeeTree node.visitSerial
(SerialTree node, P p) Visits a SerialTree node.visitSerialData
(SerialDataTree node, P p) Visits a SerialDataTree node.visitSerialField
(SerialFieldTree node, P p) Visits a SerialFieldTree node.visitSince
(SinceTree node, P p) Visits a SinceTree node.visitStartElement
(StartElementTree node, P p) Visits a StartElementTree node.visitSummary
(SummaryTree node, P p) Visits a SummaryTree node.visitSystemProperty
(SystemPropertyTree node, P p) Visits a SystemPropertyTree node.Visits a TextTree node.visitThrows
(ThrowsTree node, P p) Visits a ThrowsTree node.visitUnknownBlockTag
(UnknownBlockTagTree node, P p) Visits an UnknownBlockTagTree node.visitUnknownInlineTag
(UnknownInlineTagTree node, P p) Visits an UnknownInlineTagTree node.Visits a UsesTree node.visitValue
(ValueTree node, P p) Visits a ValueTree node.visitVersion
(VersionTree node, P p) Visits a VersionTree node.
-
Constructor Details
-
DocTreeScanner
public DocTreeScanner()Constructs aDocTreeScanner
.
-
-
Method Details
-
scan
Scans a single node.- Parameters:
node
- the node to be scannedp
- a parameter value passed to the visit method- Returns:
- the result value from the visit method
-
scan
Scans a sequence of nodes.- Parameters:
nodes
- the nodes to be scannedp
- a parameter value to be passed to the visit method for each node- Returns:
- the combined return value from the visit methods.
The values are combined using the
reduce
method.
-
reduce
Reduces two results into a combined result. The default implementation is to return the first parameter. The general contract of the method is that it may take any action whatsoever.- Parameters:
r1
- the first of the values to be combinedr2
- the second of the values to be combined- Returns:
- the result of combining the two parameters
-
visitAttribute
Visits an AttributeTree node.- Specified by:
visitAttribute
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitAuthor
Visits an AuthorTree node.- Specified by:
visitAuthor
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitComment
Visits a CommentTree node.- Specified by:
visitComment
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation returns
null
. - Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitDeprecated
Visits a DeprecatedTree node.- Specified by:
visitDeprecated
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitDocComment
Visits a DocCommentTree node.- Specified by:
visitDocComment
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitDocRoot
Visits a DocRootTree node.- Specified by:
visitDocRoot
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation returns
null
. - Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitDocType
Visits a DocTypeTree node.- Specified by:
visitDocType
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation returns
null
. - Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitEndElement
Visits an EndElementTree node.- Specified by:
visitEndElement
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation returns
null
. - Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitEntity
Visits an EntityTree node.- Specified by:
visitEntity
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation returns
null
. - Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitErroneous
Visits an ErroneousTree node.- Specified by:
visitErroneous
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation returns
null
. - Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitHidden
Visits a HiddenTree node.- Specified by:
visitHidden
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitIdentifier
Visits an IdentifierTree node.- Specified by:
visitIdentifier
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation returns
null
. - Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitIndex
Visits an IndexTree node.- Specified by:
visitIndex
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitInheritDoc
Visits an InheritDocTree node.- Specified by:
visitInheritDoc
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation returns
null
. - Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitLink
Visits a LinkTree node.- Specified by:
visitLink
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitLiteral
Visits an LiteralTree node.- Specified by:
visitLiteral
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitParam
Visits a ParamTree node.- Specified by:
visitParam
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitProvides
Visits a ProvidesTree node.- Specified by:
visitProvides
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitReference
Visits a ReferenceTree node.- Specified by:
visitReference
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation returns
null
. - Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitReturn
Visits a ReturnTree node.- Specified by:
visitReturn
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitSee
Visits a SeeTree node.- Specified by:
visitSee
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitSerial
Visits a SerialTree node.- Specified by:
visitSerial
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitSerialData
Visits a SerialDataTree node.- Specified by:
visitSerialData
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitSerialField
Visits a SerialFieldTree node.- Specified by:
visitSerialField
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitSince
Visits a SinceTree node.- Specified by:
visitSince
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitStartElement
Visits a StartElementTree node.- Specified by:
visitStartElement
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitSummary
Visits a SummaryTree node.- Specified by:
visitSummary
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
- Since:
- 10
-
visitSystemProperty
Visits a SystemPropertyTree node.- Specified by:
visitSystemProperty
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation returns
null
. - Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
- Since:
- 12
-
visitText
Visits a TextTree node.- Specified by:
visitText
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation returns
null
. - Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitThrows
Visits a ThrowsTree node.- Specified by:
visitThrows
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitUnknownBlockTag
Visits an UnknownBlockTagTree node.- Specified by:
visitUnknownBlockTag
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitUnknownInlineTag
Visits an UnknownInlineTagTree node.- Specified by:
visitUnknownInlineTag
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitUses
Visits a UsesTree node.- Specified by:
visitUses
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitValue
Visits a ValueTree node.- Specified by:
visitValue
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitVersion
Visits a VersionTree node.- Specified by:
visitVersion
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation scans the children in left to right order.
- Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-
visitOther
Visits an unknown type of DocTree node. This can occur if the set of tags evolves and new kinds of nodes are added to theDocTree
hierarchy.- Specified by:
visitOther
in interfaceDocTreeVisitor<R,
P> - Implementation Requirements:
- This implementation returns
null
. - Parameters:
node
- the node being visitedp
- a parameter value- Returns:
- the result of scanning
-