Package org.apache.uima.resource

# Interface Resource

All Known Subinterfaces:
  `AnalysisEngine`, `ASB`, `BaseCollectionReader`, `CasConsumer`, `CasDataCollectionReader`, `CasDataConsumer`, `CasDataInitializer`, `CasInitializer`, `CollectionReader`, `ConfigurableResource`, `DataResource`, `ParameterizedDataResource`, `TextAnalysisEngine`

All Known Implementing Classes:
  `AggregateAnalysisEngine_impl`, `AnalysisEngineImplBase`, `AnalysisEngineProcessorAdapter`, `AnalysisEngineServiceAdapter`, `ASB_impl`, `CasConsumer_ImplBase`, `CasDataCollectionReader_ImplBase`, `CasDataConsumer_ImplBase`, `CasDataInitializer_ImplBase`, `CasInitializer_ImplBase`, `CasProcessorAnnotator`, `CollectionReader_ImplBase`, `ConfigurableDataResource_impl`, `ConfigurableResource_ImplBase`, `DataResource_impl`, `FileLanguageResource_impl`, `FlowControllerContainer`, `JCasProcessorAnnotator`, `MultiprocessingAnalysisEngine_impl`, `PearAnalysisEngineWrapper`, `PrimitiveAnalysisEngine_impl`, `Resource_ImplBase`, `ResourceServiceAdapter`, `UimacppAnalysisEngineImpl`

public interface Resource
`Resource` is the general term for all UIMA components that can be acquired and used by an application (or by other resources).

`Resource`s may be co-located with their client or distributed as services. This is made transparent to the client.

A `ResourceSpecifier` contains information that can be used acquire a reference to a `Resource`, whether that is done by instantiating the resource locally or locating an existing resource available as a service.

The `ResourceFactory` takes a `ResourceSpecifier` and returns an instance of the specified `Resource`. Again, this can be done by creating the instance or by locating an existing instance.

Most applications will not need to deal with this abstract `Resource` interface. UIMA Developers who need to introduce new types of Resources, however, will need to implement this interface.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `PARAM_AGGREGATE_SOFA_MAPPINGS`
  Used to pass the sofa mappings to the ASB
  `static final String`
  `PARAM_CONFIG_MANAGER`
  Key to specify a pre-existing `ConfigurationManager` object.
  `static final String`
  `PARAM_CONFIG_PARAM_SETTINGS`
  Key for the initialization parameter whose value is a `ConfigurationParameterSettings` object that holds configuration settings that will be used to configure this Resource, overriding any conflicting settings specified in this Resource's Descriptor.
  `static final String`
  `PARAM_EXTERNAL_OVERRIDE_SETTINGS`
  Key for the initialization parameter whose value is a `Settings` object that holds the external override settings.
  `static final String`
  `PARAM_PERFORMANCE_TUNING_SETTINGS`
  Key for the initialization parameter whose value is a `Properties` object that holds settings that tune the performance of the framework.
  `static final String`
  `PARAM_RESOURCE_MANAGER`
  Key for the initialization parameter whose value is a reference to the `ResourceManager` that this Resource should use to locate and access other Resources.
  `static final String`
  `PARAM_UIMA_CONTEXT`
  Key for the initialization parameter whose value is a reference to the `UimaContext` that is to be used by this Resource to access its external resource and configuration parameters.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `destroy()`
  Releases all resources held by this `Resource`.
  `Logger`
  `getLogger()`
  Gets the Logger that this Resource is currently using.
  `ResourceMetaData`
  `getMetaData()`
  Gets the metadata that describes this `Resource`.
  `ResourceManager`
  `getResourceManager()`
  Gets the `ResourceManager` that this Resource uses to locate other Resources.
  `UimaContext`
  `getUimaContext()`
  Gets the UIMA Context for this Resource.
  `UimaContextAdmin`
  `getUimaContextAdmin()`
  Gets the Administrative interface to the UIMA Context.
  `boolean`
  `initialize(ResourceSpecifier aSpecifier, Map<String,Object> aAdditionalParams)`
  Initializes this `Resource` from a `ResourceSpecifier`.
  `void`
  `setLogger(Logger aLogger)`
  Sets the Logger that this Resource will use.

- ## Field Details

  - ### PARAM_UIMA_CONTEXT

    static final String PARAM_UIMA_CONTEXT
    Key for the initialization parameter whose value is a reference to the `UimaContext` that is to be used by this Resource to access its external resource and configuration parameters. This value is used as a key in the `aAdditionalParams` Map that is passed to the `initialize(ResourceSpecifier,Map)` method.
    See Also:
      - Constant Field Values

  - ### PARAM_RESOURCE_MANAGER

    static final String PARAM_RESOURCE_MANAGER
    Key for the initialization parameter whose value is a reference to the `ResourceManager` that this Resource should use to locate and access other Resources. This value is used as a key in the `aAdditionalParams` Map that is passed to the `initialize(ResourceSpecifier,Map)` method.
    See Also:
      - Constant Field Values

  - ### PARAM_CONFIG_PARAM_SETTINGS

    static final String PARAM_CONFIG_PARAM_SETTINGS
    Key for the initialization parameter whose value is a `ConfigurationParameterSettings` object that holds configuration settings that will be used to configure this Resource, overriding any conflicting settings specified in this Resource's Descriptor. This value is used as a key in the `aAdditionalParams` Map that is passed to the `initialize(ResourceSpecifier,Map)` method.
    See Also:
      - Constant Field Values

  - ### PARAM_EXTERNAL_OVERRIDE_SETTINGS

    static final String PARAM_EXTERNAL_OVERRIDE_SETTINGS
    Key for the initialization parameter whose value is a `Settings` object that holds the external override settings. This will replace any prior settings. If omitted the value in the parent UIMA Context is inherited. If there is no parent (i.e. at the root or top-level context) then the files in the system property UimaExternalOverrides are used. This value is used as a key in the `aAdditionalParams` Map that is passed to the `initialize(ResourceSpecifier,Map)` method.
    See Also:
      - Constant Field Values

  - ### PARAM_PERFORMANCE_TUNING_SETTINGS

    static final String PARAM_PERFORMANCE_TUNING_SETTINGS
    Key for the initialization parameter whose value is a `Properties` object that holds settings that tune the performance of the framework. This value is used as a key in the `aAdditionalParams` Map that is passed to the `initialize(ResourceSpecifier,Map)` method.
    See Also:
      - `UIMAFramework.getDefaultPerformanceTuningProperties()`
      - Constant Field Values

  - ### PARAM_AGGREGATE_SOFA_MAPPINGS

    static final String PARAM_AGGREGATE_SOFA_MAPPINGS
    Used to pass the sofa mappings to the ASB
    See Also:
      - Constant Field Values

  - ### PARAM_CONFIG_MANAGER

    static final String PARAM_CONFIG_MANAGER
    Key to specify a pre-existing `ConfigurationManager` object. If specified, this object is used when initializing the UimaContext associated with this Resource, instead of creating a new instance. This value is used as a key in the `aAdditionalParams` Map that is passed to the `initialize(ResourceSpecifier,Map)` method.
    See Also:
      - Constant Field Values

- ## Method Details

  - ### initialize

    boolean initialize(ResourceSpecifier aSpecifier, Map<String,Object> aAdditionalParams) throws ResourceInitializationException
    Initializes this `Resource` from a `ResourceSpecifier`. Applications do not need to call this method. It is called automatically by the `ResourceFactory` and cannot be called a second time.
    Parameters:
      `aSpecifier` - specifies how to create a resource or locate an existing resource service.
      `aAdditionalParams` - a Map containing additional parameters. May be `null` if there are no parameters. Each class that implements this interface can decide what additional parameters it supports.
    Returns:
      true if and only if initialization completed successfully. Returns false if the given `ResourceSpecifier` is not of an appropriate type for this Resource. If the `ResourceSpecifier` is of an appropriate type but is invalid or if some other failure occurs, an exception should be thrown.
    Throws:
      `ResourceInitializationException` - if a failure occurs during initialization.
      `UIMA_IllegalStateException` - if this method is called more than once on a single Resource instance.

  - ### getMetaData

    ResourceMetaData getMetaData()
    Gets the metadata that describes this `Resource`.
    Returns:
      an object containing all metadata for this resource.

  - ### getResourceManager

    ResourceManager getResourceManager()
    Gets the `ResourceManager` that this Resource uses to locate other Resources.
    Returns:
      the ResourceManager

  - ### getLogger

    Logger getLogger()
    Gets the Logger that this Resource is currently using.
    Returns:
      this Resource's logger

  - ### setLogger

    void setLogger(Logger aLogger)
    Sets the Logger that this Resource will use. If this method is not called, the default logger (`UIMAFramework.getLogger()`) will be used.
    Parameters:
      `aLogger` - the logger for this Resource to use

  - ### destroy

    void destroy()
    Releases all resources held by this `Resource`.

  - ### getUimaContext

    UimaContext getUimaContext()
    Gets the UIMA Context for this Resource. This can be used to access external resources or facilities such as the Logger.
    Returns:
      the UimaContext for use by this Resource

  - ### getUimaContextAdmin

    UimaContextAdmin getUimaContextAdmin()
    Gets the Administrative interface to the UIMA Context. This can be used by deployment wrappers to modify the UimaContext (for example, by setting the Session object).
    Returns:
      the administrative interface to this Resource's UimaContext