gnu.text

Class SourceMessages


public class SourceMessages
extends java.lang.Object

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.

Field Summary

boolean
sortMessages
True if we should sort messages by line number.

Method Summary

boolean
checkErrors(java.io.PrintStream out, int max)
Checks if an error was seen; if so, prints and clears the messages.
boolean
checkErrors(java.io.PrintWriter out, int max)
Checks if an error was seen; if so, prints and clears the messages.
void
clear()
Clear the contained errors and warnings.
void
clearErrors()
Clear the error count (only).
void
error(char severity, String message)
Record a new error at the current default source file location.
void
error(char severity, String filename, int line, int column, String message)
Record a new error.
void
error(SourceError error)
Link in an error.
int
getColumn()
The default column number to use for a new error.
int
getErrorCount()
Get the number of errors (not counting warnings).
SourceError
getErrors()
String
getFile()
The default filename to use for a new error.
int
getLine()
The default line number to use for a new error.
void
printAll(java.io.PrintStream out, int max)
Print all the error messages to a PrintStream.
void
printAll(java.io.PrintWriter out, int max)
Print all the error messages to a PrintWriter.
boolean
seenErrors()
Return true iff errors (not warnings) have been seen.
void
setColumn(int column)
Set the default column number to use for a new error.
void
setFile(String filename)
Set the default filename to use for a new error.
void
setLine(String filename, int line, int column)
Set the default filename, line and column to use for a new error.
void
setLine(int line)
Set the default line number to use for a new error.
String
toString(int max)
Convert this to a String containing the recorded errors.

Field Details

sortMessages

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

Method Details

checkErrors

public boolean checkErrors(java.io.PrintStream 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)

checkErrors

public boolean checkErrors(java.io.PrintWriter 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)

clear

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

clearErrors

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

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 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(SourceError error)
Link in an error.

getColumn

public final int getColumn()
The default column number to use for a new error.

getErrorCount

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

getErrors

public SourceError getErrors()

getFile

public final String getFile()
The default filename to use for a new error.

getLine

public final int getLine()
The default line number to use for a new error.

printAll

public void printAll(java.io.PrintStream out,
                     int max)
Print all the error messages to a PrintStream.

printAll

public void printAll(java.io.PrintWriter out,
                     int max)
Print all the error messages to a PrintWriter.

seenErrors

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

setColumn

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

setFile

public void setFile(String filename)
Set the default filename to use for a new error.

setLine

public void setLine(String filename,
                    int line,
                    int column)
Set the default filename, line and column to use for a new error.

setLine

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

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