Apache UIMA

This package contains:

- The {@link org.apache.uima.UIMAFramework} class provides the primary interface point for applications.
- Most of the error / exception indirection classes (to allow IDEs to do auto-complete looking for messages).

## Internationalized Exceptions and Messages

Internationalization is handled by the static methods in I18nUtil. These are called by the Internationalized Exceptions, but may be also used for non-exception message localization.

Exception messages are collected into classes. These classes may be organized further into hierarchies, but the top of these extend one of the following 3 classes:

- Exception - for checked exceptions
- RuntimeException - for unchecked exceptions
- SaxException - for exceptions thrown during Sax related callbacks requiring SaxExceptions be thrown

Common code for getting a localized message from arguments and message key and resource bundle are put in the interface I18nExceptionI as default methods. Using default methods allows shared methods to be used with different superclass chains.

The individual classes:

- hold static public MSG_NAME = "prop-file-key-name" values, allow IDE search via completion, allows renaming via Eclipse refactorization
- Classes collect messages for some sub-section of the code
- Super class structure can supply common resource bundles