org.apache.xmlbeans
Class XmlError

java.lang.Object
  extended by org.apache.xmlbeans.XmlError
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
XmlValidationError

public class XmlError
extends java.lang.Object
implements java.io.Serializable

Represents a message at a specific XML location.

The message can be an error, warning, or simple information, and it may optionally be associated with a specific location in an XML document. The class includes methods for extracting the location as a line number, XmlCursor, or XmlObject, as well as for obtaining and message and severity of the error.

See Also:
XmlOptions.setErrorListener(java.util.Collection), XmlException, Serialized Form

Field Summary
static int SEVERITY_ERROR
          An error.
static int SEVERITY_INFO
          An informational message.
static int SEVERITY_WARNING
          A warning.
 
Constructor Summary
protected XmlError(java.lang.String code, java.lang.Object[] args, int severity, javax.xml.stream.Location loc)
           
protected XmlError(java.lang.String code, java.lang.Object[] args, int severity, XmlCursor cursor)
           
protected XmlError(java.lang.String message, java.lang.String code, int severity, javax.xml.stream.Location loc)
          The static factory methods should be used instead of this constructor.
protected XmlError(java.lang.String message, java.lang.String code, int severity, XmlCursor cursor)
          The static factory methods should be used instead of this constructor.
  XmlError(XmlError src)
          Copy constructor.
 
Method Summary
static XmlError forCursor(java.lang.String message, int severity, XmlCursor cursor)
          Returns an XmlError for the given message, with the given severity, located at the XmlCursor.
static XmlError forCursor(java.lang.String code, java.lang.Object[] args, int severity, XmlCursor cursor)
          Returns an XmlError for the given message, with the given severity, located at the XmlCursor.
static XmlError forCursor(java.lang.String code, java.lang.Object[] args, XmlCursor cursor)
          Returns an XmlError for the given message, located at the XmlCursor, with SEVERITY_ERROR.
static XmlError forCursor(java.lang.String message, XmlCursor cursor)
          Returns an XmlError for the given message, located at the XmlCursor, with SEVERITY_ERROR.
static XmlError forLocation(java.lang.String message, int severity, java.lang.String sourceName, int line, int column, int offset)
          Returns an XmlError for the given message, with the given severity, located at a specific point in the given file.
static XmlError forLocation(java.lang.String code, java.lang.Object[] args, int severity, java.lang.String sourceName, int line, int column, int offset)
          Returns an XmlError for the given message, with the given severity, located at a specific point in the given file.
static XmlError forLocation(java.lang.String message, java.lang.String sourceName, int line, int column, int offset)
          Returns an XmlError for the given message, located at a specific point in the given file and SEVERITY_ERROR.
static XmlError forLocation(java.lang.String message, java.lang.String sourceName, javax.xml.stream.Location location)
          Returns an XmlError for the given message, located at a specific point in the given file and SEVERITY_ERROR.
static XmlError forLocationAndCursor(java.lang.String message, int severity, java.lang.String sourceName, int line, int column, int offset, XmlCursor cursor)
          Returns an XmlError for the given message, with the given severity, located at the given physcial location and XmlCursor.
protected static java.lang.String formattedFileName(java.lang.String rawString, java.net.URI base)
          Tries to produce a nicely formatted filename from the given string.
static java.lang.String formattedMessage(java.lang.String code, java.lang.Object[] args)
          Tries to format a message using the error code.
static XmlError forMessage(java.lang.String message)
          Returns an XmlError for the given message, with no location and SEVERITY_ERROR.
static XmlError forMessage(java.lang.String message, int severity)
          Returns an XmlError for the given message, with no location and the given severity.
static XmlError forMessage(java.lang.String code, java.lang.Object[] args)
          Returns an XmlError for the given message, with no location and the given severity.
static XmlError forMessage(java.lang.String code, java.lang.Object[] args, int severity)
          Returns an XmlError for the given message, with no location and the given severity.
static XmlError forObject(java.lang.String message, int severity, XmlObject xobj)
          Returns an XmlError for the given message, with the given severity, located at the XmlObject.
static XmlError forObject(java.lang.String code, java.lang.Object[] args, int severity, XmlObject xobj)
          Returns an XmlError for the given message, with the given severity, located at the XmlObject.
static XmlError forObject(java.lang.String code, java.lang.Object[] args, XmlObject xobj)
          Returns an XmlError for the given message, located at the XmlObject, with SEVERITY_ERROR.
static XmlError forObject(java.lang.String message, XmlObject xobj)
          Returns an XmlError for the given message, located at the XmlObject, with SEVERITY_ERROR.
static XmlError forSource(java.lang.String message, int severity, java.lang.String sourceName)
          Returns an XmlError for the given message, with the given severity, located in the given file.
static XmlError forSource(java.lang.String code, java.lang.Object[] args, int severity, java.lang.String sourceName)
          Returns an XmlError for the given message, with the given severity, located in the given file.
static XmlError forSource(java.lang.String message, java.lang.String sourceName)
          Returns an XmlError for the given message, located in the given file and SEVERITY_ERROR.
 int getColumn()
          Returns the column number of the error, if available, -1 if not.
 XmlCursor getCursorLocation()
          Returns a location of the error as an XmlCursor, null if not available.
 java.lang.String getErrorCode()
          Returns the error code or null.
 int getLine()
          Returns the line number of the error, if available, -1 if not.
 java.lang.Object getLocation(java.lang.Object type)
          Returns a location object of the given type.
 java.lang.String getMessage()
          Returns the error message without location information.
 XmlObject getObjectLocation()
          Returns a location of the error as an XmlObject, null if not available.
 int getOffset()
          Returns the file character offset of the error, if available, -1 if not.
 int getSeverity()
          Returns the severity.
 java.lang.String getSourceName()
          Returns the URL (or other name) of the file with the error, if available.
static java.lang.String severityAsString(int severity)
           
 java.lang.String toString()
          Produces a standard string for the error message, complete with filename and location offsets if available.
 java.lang.String toString(java.net.URI base)
          Produces a standard string with the error message.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

SEVERITY_ERROR

public static final int SEVERITY_ERROR
An error. See getSeverity().

See Also:
Constant Field Values

SEVERITY_WARNING

public static final int SEVERITY_WARNING
A warning. See getSeverity().

See Also:
Constant Field Values

SEVERITY_INFO

public static final int SEVERITY_INFO
An informational message. See getSeverity().

See Also:
Constant Field Values
Constructor Detail

XmlError

public XmlError(XmlError src)
Copy constructor.

Parameters:
src - The original XmlError to copy.

XmlError

protected XmlError(java.lang.String message,
                   java.lang.String code,
                   int severity,
                   XmlCursor cursor)
The static factory methods should be used instead of this constructor.


XmlError

protected XmlError(java.lang.String code,
                   java.lang.Object[] args,
                   int severity,
                   XmlCursor cursor)

XmlError

protected XmlError(java.lang.String message,
                   java.lang.String code,
                   int severity,
                   javax.xml.stream.Location loc)
The static factory methods should be used instead of this constructor.


XmlError

protected XmlError(java.lang.String code,
                   java.lang.Object[] args,
                   int severity,
                   javax.xml.stream.Location loc)
Method Detail

forMessage

public static XmlError forMessage(java.lang.String message)
Returns an XmlError for the given message, with no location and SEVERITY_ERROR.

Parameters:
message - the error message

forMessage

public static XmlError forMessage(java.lang.String message,
                                  int severity)
Returns an XmlError for the given message, with no location and the given severity.

Parameters:
message - the error message
severity - the severity (SEVERITY_ERROR, SEVERITY_WARNING, or SEVERITY_INFO)

forMessage

public static XmlError forMessage(java.lang.String code,
                                  java.lang.Object[] args)
Returns an XmlError for the given message, with no location and the given severity.

Parameters:
code - the error code
args - the arguments to use in formatting the error message

forMessage

public static XmlError forMessage(java.lang.String code,
                                  java.lang.Object[] args,
                                  int severity)
Returns an XmlError for the given message, with no location and the given severity.

Parameters:
code - the error code
args - the arguments to use in formatting the error message
severity - the severity (SEVERITY_ERROR, SEVERITY_WARNING, or SEVERITY_INFO)

forSource

public static XmlError forSource(java.lang.String message,
                                 java.lang.String sourceName)
Returns an XmlError for the given message, located in the given file and SEVERITY_ERROR.

Parameters:
message - the error message
sourceName - the URL or other name for the file

forSource

public static XmlError forSource(java.lang.String message,
                                 int severity,
                                 java.lang.String sourceName)
Returns an XmlError for the given message, with the given severity, located in the given file.

Parameters:
message - the error message
severity - the severity (SEVERITY_ERROR, SEVERITY_WARNING, or SEVERITY_INFO)
sourceName - the URL or other name for the file

forSource

public static XmlError forSource(java.lang.String code,
                                 java.lang.Object[] args,
                                 int severity,
                                 java.lang.String sourceName)
Returns an XmlError for the given message, with the given severity, located in the given file.

Parameters:
code - the error code
args - the arguments to use in formatting the error message
severity - the severity (SEVERITY_ERROR, SEVERITY_WARNING, or SEVERITY_INFO)
sourceName - the URL or other name for the file

forLocation

public static XmlError forLocation(java.lang.String message,
                                   java.lang.String sourceName,
                                   javax.xml.stream.Location location)
Returns an XmlError for the given message, located at a specific point in the given file and SEVERITY_ERROR.

Parameters:
message - the error message
sourceName - the URL or other name for the file
location - the location from an xml stream

forLocation

public static XmlError forLocation(java.lang.String message,
                                   java.lang.String sourceName,
                                   int line,
                                   int column,
                                   int offset)
Returns an XmlError for the given message, located at a specific point in the given file and SEVERITY_ERROR.

Parameters:
message - the error message
sourceName - the URL or other name for the file
line - the 1-based line number, or -1 if not known
column - the 1-based column number, or -1 if not known
offset - the 0-base file character offset, or -1 if not known

forLocation

public static XmlError forLocation(java.lang.String code,
                                   java.lang.Object[] args,
                                   int severity,
                                   java.lang.String sourceName,
                                   int line,
                                   int column,
                                   int offset)
Returns an XmlError for the given message, with the given severity, located at a specific point in the given file.

Parameters:
code - the error code
args - the arguments to use in formatting the error message
severity - the severity (SEVERITY_ERROR, SEVERITY_WARNING, or SEVERITY_INFO)
sourceName - the URL or other name for the file
line - the 1-based line number, or -1 if not known
column - the 1-based column number, or -1 if not known
offset - the 0-base file character offset, or -1 if not known

forLocation

public static XmlError forLocation(java.lang.String message,
                                   int severity,
                                   java.lang.String sourceName,
                                   int line,
                                   int column,
                                   int offset)
Returns an XmlError for the given message, with the given severity, located at a specific point in the given file.

Parameters:
message - the error message
severity - the severity (SEVERITY_ERROR, SEVERITY_WARNING, or SEVERITY_INFO)
sourceName - the URL or other name for the file
line - the 1-based line number, or -1 if not known
column - the 1-based column number, or -1 if not known
offset - the 0-base file character offset, or -1 if not known

forLocationAndCursor

public static XmlError forLocationAndCursor(java.lang.String message,
                                            int severity,
                                            java.lang.String sourceName,
                                            int line,
                                            int column,
                                            int offset,
                                            XmlCursor cursor)
Returns an XmlError for the given message, with the given severity, located at the given physcial location and XmlCursor.

Parameters:
message - the error message
severity - the severity (SEVERITY_ERROR, SEVERITY_WARNING, or SEVERITY_INFO)
sourceName - the URL or other name for the file
line - the 1-based line number, or -1 if not known
column - the 1-based column number, or -1 if not known
offset - the 0-base file character offset, or -1 if not known
cursor - the XmlCursor representing the location of the error

forObject

public static XmlError forObject(java.lang.String message,
                                 XmlObject xobj)
Returns an XmlError for the given message, located at the XmlObject, with SEVERITY_ERROR.

Parameters:
message - the error message
xobj - the XmlObject representing the location of the error

forObject

public static XmlError forObject(java.lang.String code,
                                 java.lang.Object[] args,
                                 XmlObject xobj)
Returns an XmlError for the given message, located at the XmlObject, with SEVERITY_ERROR.

Parameters:
code - the error code
args - the arguments to use in formatting the error message
xobj - the XmlObject representing the location of the error

forObject

public static XmlError forObject(java.lang.String message,
                                 int severity,
                                 XmlObject xobj)
Returns an XmlError for the given message, with the given severity, located at the XmlObject.

Parameters:
message - the error message
severity - the severity (SEVERITY_ERROR, SEVERITY_WARNING, or SEVERITY_INFO)
xobj - the XmlObject representing the location of the error

forObject

public static XmlError forObject(java.lang.String code,
                                 java.lang.Object[] args,
                                 int severity,
                                 XmlObject xobj)
Returns an XmlError for the given message, with the given severity, located at the XmlObject.

Parameters:
code - the error code
args - the arguments to use in formatting the error message
severity - the severity (SEVERITY_ERROR, SEVERITY_WARNING, or SEVERITY_INFO)
xobj - the XmlObject representing the location of the error

forCursor

public static XmlError forCursor(java.lang.String message,
                                 XmlCursor cursor)
Returns an XmlError for the given message, located at the XmlCursor, with SEVERITY_ERROR.

Parameters:
message - the error message
cursor - the XmlCursor representing the location of the error

forCursor

public static XmlError forCursor(java.lang.String code,
                                 java.lang.Object[] args,
                                 XmlCursor cursor)
Returns an XmlError for the given message, located at the XmlCursor, with SEVERITY_ERROR.

Parameters:
code - the error code
args - the arguments to use in formatting the error message
cursor - the XmlCursor representing the location of the error

forCursor

public static XmlError forCursor(java.lang.String message,
                                 int severity,
                                 XmlCursor cursor)
Returns an XmlError for the given message, with the given severity, located at the XmlCursor.

Parameters:
message - the error message
severity - the severity (SEVERITY_ERROR, SEVERITY_WARNING, or SEVERITY_INFO)
cursor - the XmlCursor representing the location of the error

forCursor

public static XmlError forCursor(java.lang.String code,
                                 java.lang.Object[] args,
                                 int severity,
                                 XmlCursor cursor)
Returns an XmlError for the given message, with the given severity, located at the XmlCursor.

Parameters:
code - the error code
args - the arguments to use in formatting the error message
severity - the severity (SEVERITY_ERROR, SEVERITY_WARNING, or SEVERITY_INFO)
cursor - the XmlCursor representing the location of the error

formattedFileName

protected static java.lang.String formattedFileName(java.lang.String rawString,
                                                    java.net.URI base)
Tries to produce a nicely formatted filename from the given string.


formattedMessage

public static java.lang.String formattedMessage(java.lang.String code,
                                                java.lang.Object[] args)
Tries to format a message using the error code.


getSeverity

public int getSeverity()
Returns the severity. Either SEVERITY_ERROR, SEVERITY_WARNING, or SEVERITY_INFO.


getMessage

public java.lang.String getMessage()
Returns the error message without location information.


getErrorCode

public java.lang.String getErrorCode()
Returns the error code or null. See XmlErrorCodes.


getSourceName

public java.lang.String getSourceName()
Returns the URL (or other name) of the file with the error, if available.


getLine

public int getLine()
Returns the line number of the error, if available, -1 if not.


getColumn

public int getColumn()
Returns the column number of the error, if available, -1 if not.


getOffset

public int getOffset()
Returns the file character offset of the error, if available, -1 if not.


getLocation

public java.lang.Object getLocation(java.lang.Object type)
Returns a location object of the given type. XmlCursor.class and XmlObject.class can be passed, for example. Null if not available.


getCursorLocation

public XmlCursor getCursorLocation()
Returns a location of the error as an XmlCursor, null if not available.


getObjectLocation

public XmlObject getObjectLocation()
Returns a location of the error as an XmlObject, null if not available.


toString

public java.lang.String toString()
Produces a standard string for the error message, complete with filename and location offsets if available.

Overrides:
toString in class java.lang.Object

toString

public java.lang.String toString(java.net.URI base)
Produces a standard string with the error message. If a non-null URI is supplied, source names are relativized against the given URI.


severityAsString

public static java.lang.String severityAsString(int severity)