- java.lang.Object
-
- com.sun.source.util.DocTreeScanner<R,P>
-
- All Implemented Interfaces:
-
DocTreeVisitor<R,P>
- 已知直接子类:
-
DocTreePathScanner
public class DocTreeScanner<R,P> extends Object implements DocTreeVisitor<R,P>
访问所有子树节点的TreeVisitor。 要访问特定类型的节点,只需覆盖相应的visitXYZ方法即可。 在你的方法中,调用super.visitXYZ来访问后代节点。visitXYZ方法的默认实现将确定如下的结果:
- 如果被访问的节点没有子节点,结果将为
null。 - 如果被访问的节点有一个孩子,结果将是该小孩的
scan调用的结果。 孩子可能是一个简单的节点或本身的节点列表。 - 如果所访问的节点有多个子节点,则通过依次调用每个子
scan来确定结果,然后将第一次扫描的结果与迄今为止的累积结果相结合,由reduce(R, R)方法确定。 每个孩子可以是节点列表的简单节点。reduce方法的默认行为是访问reduce方法的结果将是最后一个子扫描的结果。
以下是一个示例来计算树中错误节点的数量:
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); } }- 从以下版本开始:
- 1.8
-
-
构造方法摘要
构造方法 Constructor 描述 DocTreeScanner()
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 Rreduce(R r1, R r2)将两个结果减少为一个组合的结果。Rscan(DocTree node, P p)扫描单个节点。Rscan(Iterable<? extends DocTree> nodes, P p)扫描一系列节点。RvisitAttribute(AttributeTree node, P p)访问AttributeTree节点。RvisitAuthor(AuthorTree node, P p)访问AuthorTree节点。RvisitComment(CommentTree node, P p)访问CommentTree节点。RvisitDeprecated(DeprecatedTree node, P p)访问DeprecatedTree节点。RvisitDocComment(DocCommentTree node, P p)访问DocCommentTree节点。RvisitDocRoot(DocRootTree node, P p)访问DocRootTree节点。RvisitEndElement(EndElementTree node, P p)访问EndElementTree节点。RvisitEntity(EntityTree node, P p)访问EntityTree节点。RvisitErroneous(ErroneousTree node, P p)访问ErroneousTree节点。RvisitHidden(HiddenTree node, P p)访问HiddenTree节点。RvisitIdentifier(IdentifierTree node, P p)访问IdentifierTree节点。RvisitIndex(IndexTree node, P p)访问IndexTree节点。RvisitInheritDoc(InheritDocTree node, P p)访问InheritDocTree节点。RvisitLink(LinkTree node, P p)访问LinkTree节点。RvisitLiteral(LiteralTree node, P p)访问LiteralTree节点。RvisitOther(DocTree node, P p)访问未知类型的DocTree节点。RvisitParam(ParamTree node, P p)访问ParamTree节点。RvisitProvides(ProvidesTree node, P p)访问ProvideTree节点。RvisitReference(ReferenceTree node, P p)访问一个ReferenceTree节点。RvisitReturn(ReturnTree node, P p)访问ReturnTree节点。RvisitSee(SeeTree node, P p)访问SeeTree节点。RvisitSerial(SerialTree node, P p)访问SerialTree节点。RvisitSerialData(SerialDataTree node, P p)访问一个SerialDataTree节点。RvisitSerialField(SerialFieldTree node, P p)访问SerialFieldTree节点。RvisitSince(SinceTree node, P p)访问SinceTree节点。RvisitStartElement(StartElementTree node, P p)访问StartElementTree节点。RvisitText(TextTree node, P p)访问TextTree节点。RvisitThrows(ThrowsTree node, P p)访问ThrowsTree节点。RvisitUnknownBlockTag(UnknownBlockTagTree node, P p)访问UnknownBlockTagTree节点。RvisitUnknownInlineTag(UnknownInlineTagTree node, P p)访问UnknownInlineTagTree节点。RvisitUses(UsesTree node, P p)访问UsesTree节点。RvisitValue(ValueTree node, P p)访问ValueTree节点。RvisitVersion(VersionTree node, P p)访问VersionTreeTree节点。
-
-
-
方法详细信息
-
scan
public R scan(Iterable<? extends DocTree> nodes, P p)
扫描一系列节点。- 参数
-
nodes- 要扫描的节点 -
p- 要传递给每个节点的访问方法的参数值 - 结果
-
访问方法的组合返回值。
这些值使用
reduce方法组合。
-
reduce
public R reduce(R r1, R r2)
将两个结果减少为一个组合的结果。 默认的实现是返回第一个参数。 该方法的一般合同是它可以采取任何行动。- 参数
-
r1- 要组合的第一个值 -
r2- 要组合的第二个值 - 结果
- 结合两个参数的结果
-
visitAttribute
public R visitAttribute(AttributeTree node, P p)
访问AttributeTree节点。 此实现返回null。- Specified by:
-
visitAttribute在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitAuthor
public R visitAuthor(AuthorTree node, P p)
访问AuthorTree节点。 这个实现以从左到右的顺序扫描孩子。- Specified by:
-
visitAuthor在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitComment
public R visitComment(CommentTree node, P p)
访问CommentTree节点。 此实现返回null。- Specified by:
-
visitComment在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitDeprecated
public R visitDeprecated(DeprecatedTree node, P p)
访问DeprecatedTree节点。 这个实现以从左到右的顺序扫描孩子。- Specified by:
-
visitDeprecated在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 一个参数值 - 结果
- 扫描的结果
-
visitDocComment
public R visitDocComment(DocCommentTree node, P p)
访问DocCommentTree节点。 这个实现以从左到右的顺序扫描孩子。- Specified by:
-
visitDocComment在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitDocRoot
public R visitDocRoot(DocRootTree node, P p)
访问DocRootTree节点。 此实现返回null。- Specified by:
-
visitDocRoot在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitEndElement
public R visitEndElement(EndElementTree node, P p)
访问EndElementTree节点。 此实现返回null。- Specified by:
-
visitEndElement在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitEntity
public R visitEntity(EntityTree node, P p)
访问EntityTree节点。 此实现返回null。- Specified by:
-
visitEntity在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitErroneous
public R visitErroneous(ErroneousTree node, P p)
访问ErroneousTree节点。 此实现返回null。- Specified by:
-
visitErroneous接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitHidden
public R visitHidden(HiddenTree node, P p)
访问HiddenTree节点。 这个实现以从左到右的顺序扫描孩子。- Specified by:
-
visitHidden在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitIdentifier
public R visitIdentifier(IdentifierTree node, P p)
访问IdentifierTree节点。 此实现返回null。- Specified by:
-
visitIdentifier在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitIndex
public R visitIndex(IndexTree node, P p)
访问IndexTree节点。 此实现返回null。- Specified by:
-
visitIndex在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 一个参数值 - 结果
- 扫描的结果
-
visitInheritDoc
public R visitInheritDoc(InheritDocTree node, P p)
访问InheritDocTree节点。 此实现返回null。- Specified by:
-
visitInheritDoc在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitLink
public R visitLink(LinkTree node, P p)
访问LinkTree节点。 这个实现以从左到右的顺序扫描孩子。- Specified by:
-
visitLink在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitLiteral
public R visitLiteral(LiteralTree node, P p)
访问LiteralTree节点。 此实现返回null。- Specified by:
-
visitLiteral在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitParam
public R visitParam(ParamTree node, P p)
访问ParamTree节点。 这个实现以从左到右的顺序扫描孩子。- Specified by:
-
visitParam在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitProvides
public R visitProvides(ProvidesTree node, P p)
访问ProvideTree节点。 这个实现以从左到右的顺序扫描孩子。- Specified by:
-
visitProvides在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitReference
public R visitReference(ReferenceTree node, P p)
访问一个ReferenceTree节点。 此实现返回null。- Specified by:
-
visitReference在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitReturn
public R visitReturn(ReturnTree node, P p)
访问ReturnTree节点。 这个实现以从左到右的顺序扫描孩子。- Specified by:
-
visitReturn在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 一个参数值 - 结果
- 扫描的结果
-
visitSee
public R visitSee(SeeTree node, P p)
访问SeeTree节点。 这个实现以从左到右的顺序扫描孩子。- Specified by:
-
visitSee在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitSerial
public R visitSerial(SerialTree node, P p)
访问SerialTree节点。 这个实现以从左到右的顺序扫描孩子。- Specified by:
-
visitSerial在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p: - 结果
- 扫描的结果
-
visitSerialData
public R visitSerialData(SerialDataTree node, P p)
访问一个SerialDataTree节点。 这个实现以从左到右的顺序扫描孩子。- Specified by:
-
visitSerialData在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 一个参数值 - 结果
- 扫描的结果
-
visitSerialField
public R visitSerialField(SerialFieldTree node, P p)
访问SerialFieldTree节点。 这个实现以从左到右的顺序扫描孩子。- Specified by:
-
visitSerialField在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitSince
public R visitSince(SinceTree node, P p)
访问SinceTree节点。 这个实现以从左到右的顺序扫描孩子。- Specified by:
-
visitSince在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitStartElement
public R visitStartElement(StartElementTree node, P p)
访问StartElementTree节点。 这个实现以从左到右的顺序扫描孩子。- Specified by:
-
visitStartElement在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitText
public R visitText(TextTree node, P p)
访问TextTree节点。 此实现返回null。- Specified by:
-
visitText在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitThrows
public R visitThrows(ThrowsTree node, P p)
访问ThrowsTree节点。 这个实现以从左到右的顺序扫描孩子。- Specified by:
-
visitThrows在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitUnknownBlockTag
public R visitUnknownBlockTag(UnknownBlockTagTree node, P p)
访问UnknownBlockTagTree节点。 这个实现以从左到右的顺序扫描孩子。- Specified by:
-
visitUnknownBlockTag在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitUnknownInlineTag
public R visitUnknownInlineTag(UnknownInlineTagTree node, P p)
访问UnknownInlineTagTree节点。 这个实现以从左到右的顺序扫描孩子。- Specified by:
-
visitUnknownInlineTag在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitUses
public R visitUses(UsesTree node, P p)
访问UsesTree节点。 这个实现以从左到右的顺序扫描孩子。- Specified by:
-
visitUses在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitValue
public R visitValue(ValueTree node, P p)
访问ValueTree节点。 这个实现以从左到右的顺序扫描孩子。- Specified by:
-
visitValue在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitVersion
public R visitVersion(VersionTree node, P p)
访问VersionTreeTree节点。 这个实现以从左到右的顺序扫描孩子。- Specified by:
-
visitVersion在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- 扫描的结果
-
visitOther
public R visitOther(DocTree node, P p)
访问未知类型的DocTree节点。 如果标签集发生变化并将新类型的节点添加到DocTree层次结构中,则可能会发生这种情况。 此实现返回null。- Specified by:
-
visitOther在接口DocTreeVisitor<R,P> - 参数
-
node- 被访问的节点 -
p- 参数值 - 结果
- the result of scanning
-
-