模块  jdk.compiler
软件包  com.sun.source.util

Class DocTreeScanner<R,​P>

  • 实现的所有接口
    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方法的默认行为是,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);
          }
       } 
    从以下版本开始:
    1.8
    • 构造方法详细信息

      • DocTreeScanner

        public DocTreeScanner()
    • 方法详细信息

      • scan

        public R scan​(DocTree node,
                      P p)
        扫描单个节点。
        参数
        node - 要扫描的节点
        p - 传递给visit方法的参数值
        结果
        来自visit方法的结果值
      • 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 in interface 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 - 参数值
        结果
        扫描的结果
      • visitDocType

        public R visitDocType​(DocTypeTree node,
                              P p)
        访问DocTypeTree节点。 此实现返回null
        Specified by:
        visitDocType接口 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 - 参数值
        结果
        扫描的结果
      • visitSummary

        public R visitSummary​(SummaryTree node,
                              P p)
        访问SummaryTree节点。 此实现按从左到右的顺序扫描子项。
        Specified by:
        visitSummary接口 DocTreeVisitor<R,​P>
        参数
        node - 正在访问的节点
        p - 参数值
        结果
        扫描的结果
        从以下版本开始:
        10
      • 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 in interface 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 - 参数值
        结果
        扫描的结果