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
Constructors -
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- 参数值 - 返回:
- 扫描结果
-