javax.tools

接口
异常
类型参数:
S - 此诊断使用的源对象类型

public interface Diagnostic<S>

用于来自工具的诊断的接口。诊断通常报告源文件中指定位置处的问题。但是,并非所有的诊断都与位置或文件关联。

位置是指距文件开始位置的字符偏移量(从 0 开始)。负值(除 NOPOS 以外)不是有效位置。

行号和列号从 1 开始。负值(除 NOPOS 以外)和 0 不是有效的行号或列号。

从以下版本开始:
1.6

嵌套类摘要
static class Diagnostic.Kind
          诊断的种类,例如,错误或者警告。
 
字段摘要
static long NOPOS
          用于指示没有可用的位置。
 
方法摘要
 String getCode()
          获取指示诊断类型的诊断代码。
 long getColumnNumber()
          返回由 getPosition() 返回的字符偏移量的列号。
 long getEndPosition()
          获取距文件开始位置的字符偏移量,其中文件与指示问题结束位置的此诊断关联。
 Diagnostic.Kind getKind()
          获取此诊断的类型,例如,错误或者警告。
 long getLineNumber()
          返回由 getPosition() 返回的字符偏移量的行号。
 String getMessage(Locale locale)
          获取给定语言环境的本地化消息。
 long getPosition()
          获取距源对象开始位置的字符偏移量,其中源对象与指示问题位置的此诊断关联。
 S getSource()
          获取与此诊断关联的源对象。
 long getStartPosition()
          获取距文件开始位置的字符偏移量,其中文件与指示问题开始位置的此诊断关联。
 

字段详细信息

NOPOS

static final long NOPOS
用于指示没有可用的位置。

另请参见:
常量字段值
方法详细信息

getKind

Diagnostic.Kind getKind()
获取此诊断的类型,例如,错误或者警告。

返回:
此诊断的类型

getSource

S getSource()
获取与此诊断关联的源对象。

返回:
与此诊断关联的源对象。如果没有源对象与此诊断关联,则返回 null

getPosition

long getPosition()
获取距源对象开始位置的字符偏移量,其中源对象与指示问题位置的此诊断关联。此外,以下表达式必须为 true:

getStartPostion() &lt;= getPosition()

getPosition() &lt;= getEndPosition()

返回:
距源开始位置的字符偏移量;如果 getSource() 返回 null 或者没有合适的位置,则返回 NOPOS

getStartPosition

long getStartPosition()
获取距文件开始位置的字符偏移量,其中文件与指示问题开始位置的此诊断关联。

返回:
距文件开始位置的偏移量;当且仅当 getPosition() 返回 NOPOS 时,返回 NOPOS

getEndPosition

long getEndPosition()
获取距文件开始位置的字符偏移量,其中文件与指示问题结束位置的此诊断关联。

返回:
距文件开始位置的偏移量;当且仅当 getPosition() 返回 NOPOS 时,返回 NOPOS

getLineNumber

long getLineNumber()
返回由 getPosition() 返回的字符偏移量的行号。

返回:
行号;当且仅当 getPosition() 返回 NOPOS 时,返回 NOPOS

getColumnNumber

long getColumnNumber()
返回由 getPosition() 返回的字符偏移量的列号。

返回:
列号;当且仅当 getPosition() 返回 NOPOS 时,返回 NOPOS

getCode

String getCode()
获取指示诊断类型的诊断代码。该代码是依赖于实现的,可以为 null

返回:
诊断代码

getMessage

String getMessage(Locale locale)
获取给定语言环境的本地化消息。实际消息是依赖于实现的。如果 locale 为 null,则使用默认的语言环境。

参数:
locale - 语言环境;可以为 null
返回:
本地化消息