# Package org.apache.uima

package org.apache.uima
Apache UIMA

This package contains:

- The `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

- Related Packages
  Package
  Description
  org.apache.uima.analysis_component
  org.apache.uima.analysis_engine
  The Analysis Engine interface, along with supporting interfaces and exception classes.
  org.apache.uima.cas
  Common Analysis System(CAS) Interfaces
  org.apache.uima.cas_data
  org.apache.uima.collection
  Classes and interfaces for collection processing.
  org.apache.uima.examples
  org.apache.uima.flow
  org.apache.uima.impl
  Apache UIMA internals
  org.apache.uima.jcas
  Interfaces for accessing the JCAS.
  org.apache.uima.json
  org.apache.uima.resource
  Interfaces for `Resources` and `ResourceSpecifiers`.
  org.apache.uima.search
  Standard UIMA interfaces for indexing and search.
  org.apache.uima.spi
  org.apache.uima.uimacpp
  org.apache.uima.util
  Utility classes and interfaces used by UIMA components.
- Class
  Description
  CompositeResourceFactory
  A type of `ResourceFactory` that produces resources by delegating to other Resource Factories.
  Constants
  Some constants used by the UIMA framework.
  I18nExceptionI
  Like InternationalizedException, but is an interface with default methods.
  InternationalizedException
  The `InternationalizedException` class adds internationalization support to the standard functionality provided by `java.lang.Exception`.
  InternationalizedRuntimeException
  The `InternationalizedRuntimeException` class adds internationalization support to the standard functionality provided by `java.lang.RuntimeException`.
  List_of_ints
  a List API that returns ints instead of T
  ResourceFactory
  A `ResourceFactory` is used to acquire instances of `Resource`s.
  ResourceSpecifierFactory
  A factory used to create `ResourceSpecifier` instances and instances of other objects needed to compose `ResourceSpecifier`s.
  UIMA_IllegalArgumentException
  Thrown to indicate that a method has been passed an illegal or inappropriate argument.
  UIMA_IllegalStateException
  Signals that a method has been invoked at an illegal or inappropriate time.
  UIMA_UnsupportedOperationException
  Thrown to indicate that the requested operation is not supported.
  UimaContext
  Provides access to external resources (other than the CAS).
  UimaContextAdmin
  Admin interface to the UIMA Context.
  UimaContextHolder
  This class holds the UimaContext for the current thread, or a parent thread.
  UIMAException
  This is the superclass for all checked exceptions in UIMA.
  UIMAFramework
  This is an application's main interface point to the UIMA Framework.
  UIMARuntimeException
  This is the superclass for all unchecked exceptions in UIMA.
  UimaSerializable
  This interface is implemented by JCas classes that need to be called by the framework when a serialization is about to happen.
  UimaSerializableFSs
  This interface is implemented by JCas classes that need to be called by the framework when a serialization is about to happen where the _save_to_cas_data() method update Features which have references to Feature Structures