Package gnu.text

Class SourceMessages

All Implemented Interfaces:
SourceLocator, SourceLocator, Locator

public class SourceMessages extends SourceLocator.Simple
A collection of (zero or more) SourceErrors. Has a "current line number" which clients can use as the default line number, or clients can explicitly provide a line number. Does not handle localization of messages. Similar functionality as JAVA6's javax.tools.DiagnosticCollector.
  • Field Details

    • stripDirectoriesDefault

      public static boolean stripDirectoriesDefault
    • stripDirectories

      public boolean stripDirectories
    • debugStackTraceOnWarning

      public static boolean debugStackTraceOnWarning
      If true, print out stack trace with any warning.
    • debugStackTraceOnError

      public static boolean debugStackTraceOnError
      If true, print out stack trace with any error.
    • sortMessages

      public boolean sortMessages
      True if we should sort messages by line number.
  • Constructor Details

    • SourceMessages

      public SourceMessages()
  • Method Details

    • getErrors

      public SourceError getErrors()
    • seenErrors

      public boolean seenErrors()
      Return true iff errors (not warnings) have been seen.
    • seenErrorsOrWarnings

      public boolean seenErrorsOrWarnings()
    • getErrorCount

      public int getErrorCount()
      Get the number of errors (not counting warnings).
    • getCount

      public int getCount(String severities)
      Get number of diagnostics whose severity is one of the characters in the argument.
    • clearErrors

      public void clearErrors()
      Clear the error count (only).
    • clear

      public void clear()
      Clear the contained errors and warnings.
    • error

      public void error(SourceError error)
      Link in an error.
    • error

      public void error(char severity, String filename, int line, int column, String message)
      Record a new error.
      Parameters:
      severity - is the seriousness of the error - one of 'w' (for warning), 'e' (for error), or 'f' (for fatal error)
      filename - the name or URL of the file containing the error
      line - the (1-origin) line number or 0 if unknown
      column - the (1-origin) column number or 0 if unknown
      message - the error message
    • error

      public void error(char severity, SourceLocator location, String message)
    • error

      public void error(char severity, String filename, int line, int column, String message, String code)
    • error

      public void error(char severity, SourceLocator location, String message, String code)
    • error

      public void error(char severity, String message)
      Record a new error at the current default source file location.
      Parameters:
      severity - is the seriousness of the error - one of 'w' (for warning), 'e' (for error), or 'f' (for fatal error)
      message - the error message
    • error

      public void error(char severity, String message, Throwable exception)
    • error

      public void error(char severity, String message, String code)
    • printAll

      public void printAll(Appendable out, int max)
      Print all the error messages to an Appendable.
    • toString

      public String toString(int max)
      Convert this to a String containing the recorded errors.
      Parameters:
      max - the maximum number of error error to list
      Returns:
      a String with one '\n'-terminated line per recorded error
    • checkErrors

      public boolean checkErrors(Appendable out, int max)
      Checks if an error was seen; if so, prints and clears the messages.
      Parameters:
      out - where to write the error message to
      max - maximum number of messages to print (can be 0)
    • setSourceLocator

      public final void setSourceLocator(SourceLocator locator)
      Links our location to the one give.
    • swapSourceLocator

      public final SourceLocator swapSourceLocator(SourceLocator locator)
    • setLocation

      public final void setLocation(SourceLocator locator)
      Copies the current position of locator.
      Overrides:
      setLocation in class SourceLocator.Simple
    • getPublicId

      public String getPublicId()
      Specified by:
      getPublicId in interface Locator
      Specified by:
      getPublicId in interface SourceLocator
      Specified by:
      getPublicId in interface SourceLocator
      Overrides:
      getPublicId in class SourceLocator.Simple
    • getSystemId

      public String getSystemId()
      Specified by:
      getSystemId in interface Locator
      Specified by:
      getSystemId in interface SourceLocator
      Specified by:
      getSystemId in interface SourceLocator
      Overrides:
      getSystemId in class SourceLocator.Simple
    • isStableSourceLocation

      public boolean isStableSourceLocation()
      Description copied from interface: SourceLocator
      True if position is unlikely to change. True for an expression but not an input file.
      Specified by:
      isStableSourceLocation in interface SourceLocator
      Overrides:
      isStableSourceLocation in class SourceLocator.Simple
    • getFileName

      public final String getFileName()
      The default filename to use for a new error.
      Specified by:
      getFileName in interface SourceLocator
      Overrides:
      getFileName in class SourceLocator.Simple
    • getLineNumber

      public final int getLineNumber()
      The default line number to use for a new error.
      Specified by:
      getLineNumber in interface Locator
      Specified by:
      getLineNumber in interface SourceLocator
      Specified by:
      getLineNumber in interface SourceLocator
      Overrides:
      getLineNumber in class SourceLocator.Simple
    • getColumnNumber

      public final int getColumnNumber()
      The default column number to use for a new error.
      Specified by:
      getColumnNumber in interface Locator
      Specified by:
      getColumnNumber in interface SourceLocator
      Specified by:
      getColumnNumber in interface SourceLocator
      Overrides:
      getColumnNumber in class SourceLocator.Simple
    • getStartLine

      public int getStartLine()
      Description copied from interface: SourceLocator
      Line number (one-origin) of start of range; unknown/unspecified is -1.
      Specified by:
      getStartLine in interface SourceLocator
      Overrides:
      getStartLine in class SourceLocator.Simple
    • getStartColumn

      public int getStartColumn()
      Description copied from interface: SourceLocator
      Column (one-origin) of start of range; unknown/unspecified is -1.
      Specified by:
      getStartColumn in interface SourceLocator
      Overrides:
      getStartColumn in class SourceLocator.Simple
    • getEndLine

      public int getEndLine()
      Description copied from interface: SourceLocator
      Line number (one-origin) of end of range; unknown/unspecified is -1.
      Specified by:
      getEndLine in interface SourceLocator
      Overrides:
      getEndLine in class SourceLocator.Simple
    • getEndColumn

      public int getEndColumn()
      Description copied from interface: SourceLocator
      Column (one-origin) of end of range; unknown/unspecified is -1.
      Specified by:
      getEndColumn in interface SourceLocator
      Overrides:
      getEndColumn in class SourceLocator.Simple
    • setColumn

      public void setColumn(int column)
      Set the default column number to use for a new error.