Package javax.tools

Interface Diagnostic<S>

  • Type Parameters:
    S - the type of source object used by this diagnostic


    public interface Diagnostic<S>
    Interface for diagnostics from tools. A diagnostic usually reports a problem at a specific position in a source file. However, not all diagnostics are associated with a position or a file.

    A position is a zero-based character offset from the beginning of a file. Negative values (except NOPOS) are not valid positions.

    Line and column numbers begin at 1. Negative values (except NOPOS) and 0 are not valid line or column numbers.

    Since:
    1.6
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Interface Description
      static class  Diagnostic.Kind
      Kinds of diagnostics, for example, error or warning.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static long NOPOS
      Used to signal that no position is available.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      String getCode​()
      Returns a diagnostic code indicating the type of diagnostic.
      long getColumnNumber​()
      Returns the column number of the character offset returned by getPosition().
      long getEndPosition​()
      Returns the character offset from the beginning of the file associated with this diagnostic that indicates the end of the problem.
      Diagnostic.Kind getKind​()
      Returns the kind of this diagnostic, for example, error or warning.
      long getLineNumber​()
      Returns the line number of the character offset returned by getPosition().
      String getMessage​(Locale locale)
      Returns a localized message for the given locale.
      long getPosition​()
      Returns a character offset from the beginning of the source object associated with this diagnostic that indicates the location of the problem.
      S getSource​()
      Returns the source object associated with this diagnostic.
      long getStartPosition​()
      Returns the character offset from the beginning of the file associated with this diagnostic that indicates the start of the problem.
    • Field Detail

      • NOPOS

        static final long NOPOS
        Used to signal that no position is available.
        See Also:
        Constant Field Values
    • Method Detail

      • getKind

        Diagnostic.Kind getKind​()
        Returns the kind of this diagnostic, for example, error or warning.
        Returns:
        the kind of this diagnostic
      • getSource

        S getSource​()
        Returns the source object associated with this diagnostic.
        Returns:
        the source object associated with this diagnostic. null if no source object is associated with the diagnostic.
      • getPosition

        long getPosition​()
        Returns a character offset from the beginning of the source object associated with this diagnostic that indicates the location of the problem. In addition, the following must be true:

        getStartPostion() <= getPosition()

        getPosition() <= getEndPosition()

        Returns:
        character offset from beginning of source; NOPOS if getSource() would return null or if no location is suitable
      • getStartPosition

        long getStartPosition​()
        Returns the character offset from the beginning of the file associated with this diagnostic that indicates the start of the problem.
        Returns:
        offset from beginning of file; NOPOS if and only if getPosition() returns NOPOS
      • getEndPosition

        long getEndPosition​()
        Returns the character offset from the beginning of the file associated with this diagnostic that indicates the end of the problem.
        Returns:
        offset from beginning of file; NOPOS if and only if getPosition() returns NOPOS
      • getLineNumber

        long getLineNumber​()
        Returns the line number of the character offset returned by getPosition().
        Returns:
        a line number or NOPOS if and only if getPosition() returns NOPOS
      • getColumnNumber

        long getColumnNumber​()
        Returns the column number of the character offset returned by getPosition().
        Returns:
        a column number or NOPOS if and only if getPosition() returns NOPOS
      • getCode

        String getCode​()
        Returns a diagnostic code indicating the type of diagnostic. The code is implementation-dependent and might be null.
        Returns:
        a diagnostic code
      • getMessage

        String getMessage​(Locale locale)
        Returns a localized message for the given locale. The actual message is implementation-dependent. If the locale is null use the default locale.
        Parameters:
        locale - a locale; might be null
        Returns:
        a localized message