java.lang.Object
com.sun.source.util.DocTreeScanner<R,P>
- 类型参数:
-
R
- 此访问者方法的返回类型。对于不需要返回结果的访问者,请使用Void
。 -
P
- 此访问者方法的附加参数的类型。对于不需要附加参数的访问者,请使用Void
。
- 所有实现的接口:
-
DocTreeVisitor<R,
P>
- 直接已知的子类:
-
DocTreePathScanner
访问所有子树节点的DocTreeVisitor。要访问特定类型的节点,只需重写相应的visitXYZ方法。在您的方法内部,调用super.visitXYZ以访问后代节点。
这里是一个示例,用于计算树中错误节点的数量:
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); } }
- 实现要求:
-
visitXYZ方法的默认实现将按以下方式确定结果:
- 如果被访问的节点没有子节点,则结果将为
null
。 - 如果被访问的节点有一个子节点,则结果将是使用该子节点调用
scan
的结果。子节点可以是简单节点,也可以是节点列表。 - 如果被访问的节点有多个子节点,则结果将通过依次调用每个子节点的
scan
来确定,然后将第一个扫描之后的每个扫描结果与到目前为止的累积结果组合,由reduce(R, R)
方法确定。每个子节点可以是简单节点,也可以是节点列表。reduce
方法的默认行为是,visitXYZ
方法的结果将是最后一个扫描的子节点的结果。
- 如果被访问的节点没有子节点,则结果将为
- 自 JDK 版本:
- 1.8
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription将两个结果合并为一个组合结果。扫描单个节点。扫描一系列节点。visitAttribute
(AttributeTree node, P p) 访问一个AttributeTree
节点。visitAuthor
(AuthorTree node, P p) 访问一个AuthorTree
节点。visitComment
(CommentTree node, P p) 访问一个CommentTree
节点。visitDeprecated
(DeprecatedTree node, P p) 访问一个DeprecatedTree
节点。visitDocComment
(DocCommentTree node, P p) 访问一个DocCommentTree
节点。visitDocRoot
(DocRootTree node, P p) 访问一个DocRootTree
节点。visitDocType
(DocTypeTree node, P p) 访问一个DocTypeTree
节点。visitEndElement
(EndElementTree node, P p) 访问一个EndElementTree
节点。visitEntity
(EntityTree node, P p) 访问一个EntityTree
节点。visitErroneous
(ErroneousTree node, P p) 访问一个ErroneousTree
节点。visitEscape
(EscapeTree node, P p) 访问一个EscapeTree
节点。visitHidden
(HiddenTree node, P p) 访问一个HiddenTree
节点。visitIdentifier
(IdentifierTree node, P p) 访问一个IdentifierTree
节点。visitIndex
(IndexTree node, P p) 访问一个IndexTree
节点。visitInheritDoc
(InheritDocTree node, P p) 访问一个InheritDocTree
节点。访问一个LinkTree
节点。visitLiteral
(LiteralTree node, P p) 访问一个LiteralTree
节点。visitOther
(DocTree node, P p) 访问一个未知类型的DocTree
节点。visitParam
(ParamTree node, P p) 访问一个ParamTree
节点。visitProvides
(ProvidesTree node, P p) 访问一个ProvidesTree
节点。visitReference
(ReferenceTree node, P p) 访问一个ReferenceTree
节点。visitReturn
(ReturnTree node, P p) 访问一个ReturnTree
节点。访问一个SeeTree
节点。visitSerial
(SerialTree node, P p) 访问一个SerialTree
节点。visitSerialData
(SerialDataTree node, P p) 访问一个SerialDataTree
节点。visitSerialField
(SerialFieldTree node, P p) 访问一个SerialFieldTree
节点。visitSince
(SinceTree node, P p) 访问一个SinceTree
节点。visitSnippet
(SnippetTree node, P p) 访问一个SnippetTree
节点。访问一个SpecTree
节点。visitStartElement
(StartElementTree node, P p) 访问一个StartElementTree
节点。visitSummary
(SummaryTree node, P p) 访问一个SummaryTree
节点。visitSystemProperty
(SystemPropertyTree node, P p) 访问一个SystemPropertyTree
节点。访问一个TextTree
节点。visitThrows
(ThrowsTree node, P p) 访问一个ThrowsTree
节点。visitUnknownBlockTag
(UnknownBlockTagTree node, P p) 访问一个UnknownBlockTagTree
节点。visitUnknownInlineTag
(UnknownInlineTagTree node, P p) 访问一个UnknownInlineTagTree
节点。访问一个UsesTree
节点。visitValue
(ValueTree node, P p) 访问一个ValueTree
节点。visitVersion
(VersionTree node, P p) 访问一个VersionTree
节点。
-
Constructor Details
-
DocTreeScanner
public DocTreeScanner()构造一个DocTreeScanner
。
-
-
Method Details
-
scan
扫描单个节点。- 参数:
-
node
- 要扫描的节点 -
p
- 传递给访问方法的参数值 - 返回:
- 访问方法的结果值
-
scan
扫描一系列节点。- 参数:
-
nodes
- 要扫描的节点 -
p
- 要传递给每个节点的访问方法的参数值 - 返回:
-
访问方法的组合返回值。这些值使用
reduce
方法组合。
-
reduce
将两个结果合并为一个组合结果。默认实现是返回第一个参数。该方法的一般约定是可以采取任何操作。- 参数:
-
r1
- 要组合的值中的第一个值 -
r2
- 要组合的值中的第二个值 - 返回:
- 组合两个参数的结果
-
visitAttribute
访问一个AttributeTree
节点。- 指定者:
-
visitAttribute
在接口DocTreeVisitor<R,
P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitAuthor
访问一个AuthorTree
节点。- 指定者:
-
visitAuthor
在接口DocTreeVisitor<R,
P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitComment
访问一个CommentTree
节点。- 指定者:
-
visitComment
在接口DocTreeVisitor<R,
P> - 实现要求:
-
此实现返回
null
。 - 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitDeprecated
访问一个DeprecatedTree
节点。- 指定者:
-
visitDeprecated
在接口DocTreeVisitor<R,
P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitDocComment
访问一个DocCommentTree
节点。- 指定者:
-
visitDocComment
在接口DocTreeVisitor<R,
P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitDocRoot
访问一个DocRootTree
节点。- 指定者:
-
visitDocRoot
在接口DocTreeVisitor<R,
中P> - 实现要求:
-
此实现返回
null
。 - 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitDocType
访问DocTypeTree
节点。- 指定者:
-
visitDocType
在接口DocTreeVisitor<R,
中P> - 实现要求:
-
此实现返回
null
。 - 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitEndElement
访问EndElementTree
节点。- 指定者:
-
visitEndElement
在接口DocTreeVisitor<R,
中P> - 实现要求:
-
此实现返回
null
。 - 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitEntity
访问EntityTree
节点。- 指定者:
-
visitEntity
在接口DocTreeVisitor<R,
中P> - 实现要求:
-
此实现返回
null
。 - 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitErroneous
访问ErroneousTree
节点。- 指定者:
-
visitErroneous
在接口DocTreeVisitor<R,
中P> - 实现要求:
-
此实现返回
null
。 - 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitEscape
访问EscapeTree
节点。- 指定者:
-
visitEscape
在接口DocTreeVisitor<R,
中P> - 实现要求:
-
此实现返回
null
。 - 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
- 自:
- 21
-
visitHidden
访问HiddenTree
节点。- 指定者:
-
visitHidden
在接口DocTreeVisitor<R,
中P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitIdentifier
访问IdentifierTree
节点。- 指定者:
-
visitIdentifier
在接口DocTreeVisitor<R,
中P> - 实现要求:
-
此实现返回
null
。 - 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitIndex
访问IndexTree
节点。- 指定者:
-
visitIndex
在接口DocTreeVisitor<R,
中P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitInheritDoc
访问InheritDocTree
节点。- 指定者:
-
visitInheritDoc
在接口DocTreeVisitor<R,
中P> - 实现要求:
-
此实现返回
null
。 - 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitLink
访问LinkTree
节点。- 指定者:
-
visitLink
在接口DocTreeVisitor<R,
中P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitLiteral
访问LiteralTree
节点。- 指定者:
-
visitLiteral
在接口DocTreeVisitor<R,
中P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitParam
访问ParamTree
节点。- 指定者:
-
visitParam
在接口DocTreeVisitor<R,
中P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitProvides
访问ProvidesTree
节点。- 指定者:
-
visitProvides
在接口DocTreeVisitor<R,
中P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitReference
访问一个ReferenceTree
节点。- 指定者:
-
visitReference
在接口DocTreeVisitor<R,
中P> - 实现要求:
-
此实现返回
null
。 - 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitReturn
访问一个ReturnTree
节点。- 指定者:
-
visitReturn
在接口DocTreeVisitor<R,
中P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitSee
访问一个SeeTree
节点。- 指定者:
-
visitSee
在接口DocTreeVisitor<R,
中P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitSerial
访问一个SerialTree
节点。- 指定者:
-
visitSerial
在接口DocTreeVisitor<R,
中P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitSerialData
访问一个SerialDataTree
节点。- 指定者:
-
visitSerialData
在接口DocTreeVisitor<R,
中P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitSerialField
访问一个SerialFieldTree
节点。- 指定者:
-
visitSerialField
在接口DocTreeVisitor<R,
中P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitSince
访问一个SinceTree
节点。- 指定者:
-
visitSince
在接口DocTreeVisitor<R,
中P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitSnippet
访问一个SnippetTree
节点。- 指定者:
-
visitSnippet
在接口DocTreeVisitor<R,
中P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
- 自:
- 18
-
visitSpec
访问一个SpecTree
节点。- 指定者:
-
visitSpec
在接口DocTreeVisitor<R,
中P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
- 自:
- 20
-
visitStartElement
访问一个StartElementTree
节点。- 指定者:
-
visitStartElement
在接口DocTreeVisitor<R,
中P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitSummary
访问一个SummaryTree
节点。- 指定者:
-
visitSummary
在接口DocTreeVisitor<R,
中P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
- 自:
- 10
-
visitSystemProperty
访问一个SystemPropertyTree
节点。- 指定者:
-
visitSystemProperty
在接口DocTreeVisitor<R,
中P> - 实现要求:
-
此实现返回
null
。 - 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
- 自:
- 12
-
visitText
访问一个TextTree
节点。- 指定者:
-
visitText
在接口DocTreeVisitor<R,
P> - 实现要求:
-
此实现返回
null
。 - 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitThrows
访问ThrowsTree
节点。- 指定者:
-
visitThrows
在接口DocTreeVisitor<R,
P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitUnknownBlockTag
访问UnknownBlockTagTree
节点。- 指定者:
-
visitUnknownBlockTag
在接口DocTreeVisitor<R,
P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitUnknownInlineTag
访问UnknownInlineTagTree
节点。- 指定者:
-
visitUnknownInlineTag
在接口DocTreeVisitor<R,
P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitUses
访问UsesTree
节点。- 指定者:
-
visitUses
在接口DocTreeVisitor<R,
P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitValue
访问ValueTree
节点。- 指定者:
-
visitValue
在接口DocTreeVisitor<R,
P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitVersion
访问VersionTree
节点。- 指定者:
-
visitVersion
在接口DocTreeVisitor<R,
P> - 实现要求:
- 此实现按从左到右的顺序扫描子节点。
- 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-
visitOther
访问未知类型的DocTree
节点。如果标签集发生演变并且向DocTree
层次结构添加了新类型的节点,则可能会发生这种情况。- 指定者:
-
visitOther
在接口DocTreeVisitor<R,
P> - 实现要求:
-
此实现返回
null
。 - 参数:
-
node
- 正在访问的节点 -
p
- 参数值 - 返回:
- 扫描结果
-