public interface Reporter
用于报告诊断和其他消息的接口。
诊断由一个诊断类型
和一条消息组成,还可以与一个元素
、文档注释中的树节点
或给定文件
中的任意位置相关联。其他消息可以直接写入两个流中的一个,这两个流非正式地用于“标准输出”和“诊断输出”,其中“标准输出”表示执行某些操作的预期结果的输出,例如使用--help
选项时生成的命令行帮助,而“诊断输出”指的是执行操作的任何错误、警告和其他输出的副作用。
诊断的输出方式未指定,取决于封闭上下文。例如:
DocumentationTool
API允许客户端指定一个DiagnosticListener
,诊断将被报告
到该监听器。如果未指定监听器,则诊断将被写入给定的流,如果未提供此类流,则将写入System.err
。ToolProvider
API允许客户端指定用于报告标准和诊断输出的流。
- 自版本:
- 9
-
Method Summary
Modifier and TypeMethodDescriptiondefault PrintWriter
返回一个写入器,可用于写入诊断输出,如果没有此类写入器可用,则返回null
。default PrintWriter
返回一个写入器,可用于写入非诊断输出,如果没有此类写入器可用,则返回null
。default void
print
(Diagnostic.Kind kind, DocTreePath path, int start, int pos, int end, String message) 在树节点中的字符范围内打印与诊断消息相关的诊断消息。void
print
(Diagnostic.Kind kind, DocTreePath path, String message) 在文档注释中的树节点上打印与诊断消息相关的诊断消息。void
print
(Diagnostic.Kind kind, String message) 打印诊断消息。void
print
(Diagnostic.Kind kind, Element element, String message) 打印与元素相关的诊断消息。default void
print
(Diagnostic.Kind kind, FileObject file, int start, int pos, int end, String message) 在文件中的字符范围内打印与诊断消息相关的诊断消息。
-
Method Details
-
print
打印诊断消息。- 参数:
-
kind
- 诊断类型 -
message
- 要打印的消息
-
print
在文档注释中的树节点上打印与诊断消息相关的诊断消息。- 参数:
-
kind
- 诊断类型 -
path
- 树节点的路径 -
message
- 要打印的消息
-
print
default void print(Diagnostic.Kind kind, DocTreePath path, int start, int pos, int end, String message) 在树节点中的字符范围内打印与诊断消息相关的诊断消息。仅支持作为给定路径的叶节点的DocTree
类型。目前包括CommentTree
、DocTypeTree
、ReferenceTree
和TextTree
。位置都是从字符串开头开始的基于0的字符偏移量。位置应满足关系start <= pos <= end
。- 实现要求:
-
此实现忽略
(start, pos, end)
值,只是调用print(kind, path, message)
。 - 参数:
-
kind
- 诊断类型 -
path
- 树节点的路径 -
start
- 封闭范围的开始 -
pos
- 位置 -
end
- 封闭范围的结束 -
message
- 要打印的消息 - 抛出:
-
IllegalArgumentException
- 如果start
、pos
和end
不构成有效范围。 - 自版本:
- 18
-
print
打印与元素相关的诊断消息。- 参数:
-
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
返回一个写入器,可用于写入非诊断输出,如果没有此类写入器可用,则返回null
。- API注释:
-
返回的值可能与
getDiagnosticWriter()
返回的值相同也可能不同。 - 实现要求:
-
此实现返回
null
。由javadoc
工具提供的用于初始化
文档注释的doclet始终返回非null
值。 - 返回:
- 写入器
- 自版本:
- 17
-
getDiagnosticWriter
返回一个写入器,可用于写入诊断输出,如果没有此类写入器可用,则返回null
。- API注释:
-
返回的值可能与
getStandardWriter()
返回的值相同也可能不同。 - 实现要求:
-
此实现返回
null
。由javadoc
工具提供的用于初始化
文档注释的doclet始终返回非null
值。 - 返回:
- 写入器
- 自版本:
- 17
-