org.apache.uima

## Class InternationalizedException

- java.lang.Object
- - java.lang.Throwable
  - - java.lang.Exception
    - - org.apache.uima.InternationalizedException

- All Implemented Interfaces:
    Serializable
  Direct Known Subclasses:
    PackageCreatorException

      public class InternationalizedException
      extends Exception

  The `InternationalizedException` class adds internationalization support to the standard functionality provided by `java.lang.Exception`.

  To support internationalization, the thrower of an exception must not specify a hardcoded message string. Instead, the thrower specifies a key that identifies the message. That key is then looked up in a locale-specific `ResourceBundle` to find the actual message associated with this exception.

  This class also supports arguments to messages. The full message will be constructed using the `MessageFormat` class. For more information on internationalization, see the Java Internationalization Guide.

  This version of this class works with JDK versions prior to 1.4, since it does not assume support for exception chaining. The file `InternationalizedException.java_1_4` is a version that uses the exception chaining support built-in to JDK1.4.

  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `InternationalizedException()` Creates a new `InternationalizedException` with a null message.
    `InternationalizedException(String aResourceBundleName, String aMessageKey, Object[] aArguments)` Creates a new `InternationalizedException` with the specified message.
    `InternationalizedException(String aResourceBundleName, String aMessageKey, Object[] aArguments, Throwable aCause)` Creates a new `InternationalizedException` with the specified message and cause.
    `InternationalizedException(Throwable aCause)` Creates a new `InternationalizedException` with the specified cause and a null message.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object[]` | `getArguments()` Gets the arguments to this exception's message.
    `Throwable` | `getCause()` Gets the cause of this Exception.
    `String` | `getLocalizedMessage()` Gets the localized detail message for this exception.
    `String` | `getLocalizedMessage(Locale aLocale)` Gets the localized detail message for this exception using the specified `Locale`.
    `String` | `getMessage()` Gets the English detail message for this exception.
    `String` | `getMessageKey()` Gets the identifier for this exception's message.
    `String` | `getResourceBundleName()` Gets the base name of the resource bundle in which the message for this exception is located.
    `boolean` | `hasMessageKey(String messageKey)` Checks if this exception, or any of its root causes, has a particular UIMA message key.
    `Throwable` | `initCause(Throwable cause)`
    `void` | `setResourceBundle(Locale aLocale)` For the case where the default locale is not being used for getting messages, and the lookup path in the classpath for the resource bundle needs to be set at a specific point, call this method to set the resource bundle at that point in the call stack.

    - ### Methods inherited from class java.lang.Throwable

      `addSuppressed, fillInStackTrace, getStackTrace, getSuppressed, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### InternationalizedException

          public InternationalizedException()

      Creates a new `InternationalizedException` with a null message.

    - #### InternationalizedException

          public InternationalizedException(Throwable aCause)

      Creates a new `InternationalizedException` with the specified cause and a null message.
      Parameters:
        `aCause` - the original exception that caused this exception to be thrown, if any

    - #### InternationalizedException

          public InternationalizedException(String aResourceBundleName,
                                            String aMessageKey,
                                            Object[] aArguments)

      Creates a new `InternationalizedException` with the specified message.
      Parameters:
        `aResourceBundleName` - the base name of the resource bundle in which the message for this exception is located.
        `aMessageKey` - an identifier that maps to the message for this exception. The message may contain placeholders for arguments as defined by the `MessageFormat` class.
        `aArguments` - The arguments to the message. `null` may be used if the message has no arguments.

    - #### InternationalizedException

          public InternationalizedException(String aResourceBundleName,
                                            String aMessageKey,
                                            Object[] aArguments,
                                            Throwable aCause)

      Creates a new `InternationalizedException` with the specified message and cause.
      Parameters:
        `aResourceBundleName` - the base name of the resource bundle in which the message for this exception is located.
        `aMessageKey` - an identifier that maps to the message for this exception. The message may contain placeholders for arguments as defined by the `MessageFormat` class.
        `aArguments` - The arguments to the message. `null` may be used if the message has no arguments.
        `aCause` - the original exception that caused this exception to be thrown, if any

  - ### Method Detail

    - #### getResourceBundleName

          public String getResourceBundleName()

      Gets the base name of the resource bundle in which the message for this exception is located.
      Returns:
        the resource bundle base name. May return `null` if this exception has no message.

    - #### getMessageKey

          public String getMessageKey()

      Gets the identifier for this exception's message. This identifier can be looked up in this exception's `ResourceBundle` to get the locale-specific message for this exception.
      Returns:
        the resource identifier for this exception's message. May return `null` if this exception has no message.

    - #### getArguments

          public Object[] getArguments()

      Gets the arguments to this exception's message. Arguments allow a `InternationalizedException` to have a compound message, made up of multiple parts that are concatenated in a language-neutral way.
      Returns:
        the arguments to this exception's message.

    - #### getMessage

          public String getMessage()

      Gets the English detail message for this exception. For the localized message use `getLocalizedMessage()`.
      Overrides:
        `getMessage` in class `Throwable`
      Returns:
        the English detail message for this exception.

    - #### getLocalizedMessage

          public String getLocalizedMessage()

      Gets the localized detail message for this exception. This uses the default Locale for this JVM. A Locale may be specified using `getLocalizedMessage(Locale)`.
      Overrides:
        `getLocalizedMessage` in class `Throwable`
      Returns:
        this exception's detail message, localized for the default Locale.

    - #### getLocalizedMessage

          public String getLocalizedMessage(Locale aLocale)

      Gets the localized detail message for this exception using the specified `Locale`.
      Parameters:
        `aLocale` - the locale to use for localizing the message
      Returns:
        this exception's detail message, localized for the specified `Locale`.

    - #### getCause

          public Throwable getCause()

      Gets the cause of this Exception.
      Overrides:
        `getCause` in class `Throwable`
      Returns:
        the Throwable that caused this Exception to occur, if any. Returns `null` if there is no such cause.

    - #### hasMessageKey

          public boolean hasMessageKey(String messageKey)

      Checks if this exception, or any of its root causes, has a particular UIMA message key. This allows checking for particular error condition
      Parameters:
        `messageKey` - to search for in the exception chain
      Returns:
        true if this exception or any of its root causes has a particular UIMA message key.

    - #### initCause

          public Throwable initCause(Throwable cause)

      Overrides:
        `initCause` in class `Throwable`

    - #### setResourceBundle

          public void setResourceBundle(Locale aLocale)

      For the case where the default locale is not being used for getting messages, and the lookup path in the classpath for the resource bundle needs to be set at a specific point, call this method to set the resource bundle at that point in the call stack. Example: If in a Pear, and you are throwing an exception, which is defined in a bundle in the Pear context, but the catcher of the throw is up the stack above where the pear context exists (and therefore, is no longer present at "catch" time), and you don't want to use the default-locale for getting the message out of the message bundle, then do something like this:

           Exception e = new AnalysisEngineProcessException(MESSAGE_BUNDLE, "TEST_KEY", objects);
           e.setResourceBundle(my_locale); // call this method, pass in the needed locale object
           throw e; // or whatever should be done with it

      Parameters:
        `aLocale` - the locale to use when getting the message from the message bundle at a later time

Copyright © 2006–2022 The Apache Software Foundation. All rights reserved.