org.apache.woden

## Interface ErrorReporter

-     public interface ErrorReporter

  Defines the approach for reporting errors that occur while parsing, validating or manipulating WSDL descriptions, such as XML parser errors or violations of the rules defined in the WSDL specification. That is, errors that relate specifically to the WSDL. It does not report system runtime or configuration errors, which are instead treated as exceptions.

  There are four ways to report an error:

  An error id and an array of message arguments are used to produce a formatted error message from some parameterized message text. The error may be reported with an target exception or without one.

  An error id is specified with some ready-formatted message text. The error may be reported with an target exception or without one.

  The error is handled according to the severity level (warning, error or fatal error) reported with the error.

  The error reporter supports the 'en' (English) locale by default and has a default error handler (i.e. a default implementation of ErrorHandler). However, a different locale may be configured via `setLocale` and a custom error handler implementation may be configured as a system property.
  Author:
    jkaputin@apache.org

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static short` | `SEVERITY_ERROR`
    `static short` | `SEVERITY_FATAL_ERROR`
    `static short` | `SEVERITY_WARNING`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ErrorHandler` | `getErrorHandler()` Return the custom error handler if one has been set, otherwise return the default error handler.
    `String` | `getFormattedMessage(String errorId, Object[] arguments)` Returns a formatted message string for the specified message key and arguments.
    `Locale` | `getLocale()`
    `void` | `reportError(ErrorLocator errLoc, String errorId, Object[] arguments, short severity)` Insert the message arguments into a parameterized message identified by errorId to produce a formatted error message, then report the message and the error location in the document according to the severity.
    `void` | `reportError(ErrorLocator errLoc, String errorId, Object[] arguments, short severity, Exception exception)` Insert the message arguments into a parameterized message identified by errorId to produce a formatted error message, then report the message and the error location in the document according to the severity.
    `void` | `reportError(ErrorLocator errLoc, String errorId, String message, short severity)` Report the message and the error location in the document according to the severity.
    `void` | `reportError(ErrorLocator errLoc, String errorId, String message, short severity, Exception exception)` Report the message and the error location in the document according to the severity.
    `void` | `setErrorHandler(ErrorHandler errorHandler)` Set a custom error handler on this error reporter to replace the default error handler.
    `void` | `setLocale(Locale locale)` Set the Locale used for localization of error messages.

- - ### Field Detail

    - #### SEVERITY_WARNING

          static final short SEVERITY_WARNING

      See Also:
        Constant Field Values

    - #### SEVERITY_ERROR

          static final short SEVERITY_ERROR

      See Also:
        Constant Field Values

    - #### SEVERITY_FATAL_ERROR

          static final short SEVERITY_FATAL_ERROR

      See Also:
        Constant Field Values

  - ### Method Detail

    - #### reportError

          void reportError(ErrorLocator errLoc,
                         String errorId,
                         Object[] arguments,
                         short severity)
                           throws WSDLException

      Insert the message arguments into a parameterized message identified by errorId to produce a formatted error message, then report the message and the error location in the document according to the severity.
      Parameters:
        `errLoc` - ErrorLocator showing the location of the error in the document.
        `errorId` - String that identifies the message for this error.
        `arguments` - Object[] with values to be inserted into the message text.
        `severity` - a short indicating warning, error or fatal error.
      Throws:
        `WSDLException` - if the severity is fatal error

    - #### reportError

          void reportError(ErrorLocator errLoc,
                         String errorId,
                         Object[] arguments,
                         short severity,
                         Exception exception)
                           throws WSDLException

      Insert the message arguments into a parameterized message identified by errorId to produce a formatted error message, then report the message and the error location in the document according to the severity. Also report the exception that caused this error.
      Parameters:
        `errLoc` - ErrorLocator showing the location of the error in the document.
        `errorId` - String that identifies the message for this error.
        `arguments` - Object[] with values to be inserted into the message text.
        `severity` - a short indicating warning, error or fatal error.
        `exception` - the Exception that caused this error
      Throws:
        `WSDLException` - if the severity is fatal error

    - #### reportError

          void reportError(ErrorLocator errLoc,
                         String errorId,
                         String message,
                         short severity)
                           throws WSDLException

      Report the message and the error location in the document according to the severity.
      Parameters:
        `errLoc` - ErrorLocator showing the location of the error in the document.
        `errorId` - String that identifies the message for this error.
        `message` - message text.
        `severity` - a short indicating warning, error or fatal error.
      Throws:
        `WSDLException` - if the severity is fatal error

    - #### reportError

          void reportError(ErrorLocator errLoc,
                         String errorId,
                         String message,
                         short severity,
                         Exception exception)
                           throws WSDLException

      Report the message and the error location in the document according to the severity. Also report the exception that caused this error.
      Parameters:
        `errLoc` - ErrorLocator showing the location of the error in the document.
        `errorId` - String that identifies the message for this error.
        `message` - message text.
        `severity` - a short indicating warning, error or fatal error.
        `exception` - the Exception that caused this error
      Throws:
        `WSDLException` - if the severity is fatal error

    - #### setErrorHandler

          void setErrorHandler(ErrorHandler errorHandler)

      Set a custom error handler on this error reporter to replace the default error handler. TODO: identify all use cases for setting the error handler and determine how best to expose this on the API. Currently, just via WSDLReader.setLocale which supports the 'read wsdl' use case, but others may include 'modify wsdl', 'create wsdl programmatically' and maybe 'write wsdl'.
      Parameters:
        `errorHandler` - the custom error handler

    - #### getErrorHandler

          ErrorHandler getErrorHandler()

      Return the custom error handler if one has been set, otherwise return the default error handler.
      Returns:
        the ErrorHandler used by this error reporter

    - #### setLocale

          void setLocale(Locale locale)

      Set the Locale used for localization of error messages. TODO: identify all use cases for setting the locale and determine how best to expose this on the API. Currently, just via WSDLReader.setLocale which supports the 'read wsdl' use case, but others may include 'modify wsdl', 'create wsdl programmatically' and maybe 'write wsdl'.
      Parameters:
        `locale` - the required locale

    - #### getLocale

          Locale getLocale()

      Returns:
        the Locale used for localization of error messages.

    - #### getFormattedMessage

          String getFormattedMessage(String errorId,
                                   Object[] arguments)

      Returns a formatted message string for the specified message key and arguments. Used for formatting messages that will not be reported by the error reporter as parsing errors (via the reportError method). Typically these types of messages will be for configuration or runtime errors that will be thrown as exceptions by the caller. If there are no message arguments, a null value may be specified for the `arguments` parameter instead of an empty array.
      Parameters:
        `errorId` - a String representing the message key
        `arguments` - an Object array of message parameters
      Returns:
        the formatted message string

Copyright ? Apache Software Foundation. All Rights Reserved.