Module jdk.javadoc

Interface Reporter


public interface Reporter
用于报告诊断和其他消息的接口。

诊断由一个诊断类型和一条消息组成,还可以与一个元素、文档注释中的树节点或给定文件中的任意位置相关联。其他消息可以直接写入两个流中的一个,这两个流非正式地用于“标准输出”和“诊断输出”,其中“标准输出”表示执行某些操作的预期结果的输出,例如使用--help选项时生成的命令行帮助,而“诊断输出”指的是执行操作的任何错误、警告和其他输出的副作用。

诊断的输出方式未指定,取决于封闭上下文。例如:

  • DocumentationTool API允许客户端指定一个DiagnosticListener,诊断将被报告到该监听器。如果未指定监听器,则诊断将被写入给定的流,如果未提供此类流,则将写入System.err
  • ToolProvider API允许客户端指定用于报告标准和诊断输出的流。
自版本:
9
  • Method Details

    • print

      void print(Diagnostic.Kind kind, String message)
      打印诊断消息。
      参数:
      kind - 诊断类型
      message - 要打印的消息
    • print

      void print(Diagnostic.Kind kind, DocTreePath path, String message)
      在文档注释中的树节点上打印与诊断消息相关的诊断消息。
      参数:
      kind - 诊断类型
      path - 树节点的路径
      message - 要打印的消息
    • print

      default void print(Diagnostic.Kind kind, DocTreePath path, int start, int pos, int end, String message)
      在树节点中的字符范围内打印与诊断消息相关的诊断消息。仅支持作为给定路径的叶节点的DocTree类型。目前包括CommentTreeDocTypeTreeReferenceTreeTextTree。位置都是从字符串开头开始的基于0的字符偏移量。位置应满足关系start <= pos <= end
      实现要求:
      此实现忽略(start, pos, end)值,只是调用print(kind, path, message)
      参数:
      kind - 诊断类型
      path - 树节点的路径
      start - 封闭范围的开始
      pos - 位置
      end - 封闭范围的结束
      message - 要打印的消息
      抛出:
      IllegalArgumentException - 如果startposend不构成有效范围。
      自版本:
      18
    • print

      void print(Diagnostic.Kind kind, Element element, String message)
      打印与元素相关的诊断消息。
      参数:
      kind - 诊断类型
      element - 元素
      message - 要打印的消息
    • print

      default void print(Diagnostic.Kind kind, FileObject file, int start, int pos, int end, String message)
      在文件中的字符范围内打印与诊断消息相关的诊断消息。位置都是从文件内容开头开始的基于0的字符偏移量。位置应满足关系start <= pos <= end
      实现要求:
      此实现始终抛出UnsupportedOperationException。由javadoc工具提供的用于初始化文档注释的doclet覆盖此实现。
      参数:
      kind - 诊断类型
      file - 文件
      start - 封闭范围的开始
      pos - 位置
      end - 封闭范围的结束
      message - 要打印的消息
      自版本:
      17
    • getStandardWriter

      default PrintWriter getStandardWriter()
      返回一个写入器,可用于写入非诊断输出,如果没有此类写入器可用,则返回null
      API注释:
      返回的值可能与getDiagnosticWriter()返回的值相同也可能不同。
      实现要求:
      此实现返回null。由javadoc工具提供的用于初始化文档注释的doclet始终返回非null值。
      返回:
      写入器
      自版本:
      17
    • getDiagnosticWriter

      default PrintWriter getDiagnosticWriter()
      返回一个写入器,可用于写入诊断输出,如果没有此类写入器可用,则返回null
      API注释:
      返回的值可能与getStandardWriter()返回的值相同也可能不同。
      实现要求:
      此实现返回null。由javadoc工具提供的用于初始化文档注释的doclet始终返回非null值。
      返回:
      写入器
      自版本:
      17