Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.uima.resource
Interface CasManager

All Superinterfaces:
  CasOwner

    public interface CasManager

extends CasOwner

Manages creation and pooling of CAS instances within an AnalysisEngine.

Method Summary
`void` | `addMetaData(ProcessingResourceMetaData aMetadata)` Called by components when they initialize.
`CAS` | `createNewCas(Properties aPerformanceTuningSettings)` Create a new CAS using the CasDefinition stored in this CAS Manager.
`void` | `defineCasPool(String aRequestorContextName, int aMinimumSize, Properties aPerformanceTuningSettings)` Defines a CAS pool within this CAS Manager.
`void` | `defineCasPool(UimaContextAdmin aRequestorContext, int aMinimumSize, Properties aPerformanceTuningSettings)` Defines the CAS pool required by a particular AnalysisEngine.
`CAS` | `getCas(String aRequestorContextName)` Gets an empty CAS.
`CasDefinition` | `getCasDefinition()` Gets the CasDefinition, as defined by merging all of the metadata supplied by calls `addMetaData(ProcessingResourceMetaData)`.
`AbstractCas` | `getCasInterface(CAS cas, Class requiredInterface)` Gets a specified interface to a CAS.
`void` | `setJmxInfo(Object aMBeanServer, String aRootComponentMBeanName)` Configures this CAS Manager so it can register an MBean for each of its CAS pools.

Methods inherited from interface org.apache.uima.cas.CasOwner
`releaseCas`

Method Detail

### addMetaData

    void addMetaData(ProcessingResourceMetaData aMetadata)

  Called by components when they initialize.

  Parameters:
    `aMetadata` - an object containing metadata for the component, including Type System, Type Priorities, and Index Definitions needed to create the CAS.

### getCasDefinition

    CasDefinition getCasDefinition()
                                   throws ResourceInitializationException

  Gets the CasDefinition, as defined by merging all of the metadata supplied by calls `addMetaData(ProcessingResourceMetaData)`.

  Returns:
    the merged CasDefinition
  Throws:
    `ResourceInitializationException` - if metadata could not be merged

### defineCasPool

    void defineCasPool(String aRequestorContextName,
                       int aMinimumSize,
                       Properties aPerformanceTuningSettings)
                       throws ResourceInitializationException

  Defines a CAS pool within this CAS Manager. (Note that if this CAS pool is to be used by a CAS Multiplier, then `defineCasPool(UimaContextAdmin, int, Properties)` should be used instead.

  Parameters:
    `aRequestorContextName` - name to give to the pool. Must be unique among all pool names in this CAS manager, and care should be taken to assure that this does not match the qualified name of UIMA Contexts passed to `defineCasPool(UimaContextAdmin, int, Properties)`. This name is later passed to the `getCas(String)` method, to check out CASes from the pool.
    `aSize` - the minimum CAS pool size required
    `aPerformanceTuningSettings` - settings, including initial CAS heap size, for the AE
  Throws:
    `ResourceInitializationException` - if a CAS could not be created.

### defineCasPool

    void defineCasPool(UimaContextAdmin aRequestorContext,
                       int aMinimumSize,
                       Properties aPerformanceTuningSettings)
                       throws ResourceInitializationException

  Defines the CAS pool required by a particular AnalysisEngine. (The AnalysisEngine must contain a CAS Multiplier if it requires a CAS pool.)

  Parameters:
    `aRequestorContextName` - the UimaContext of the AE that will request the CASes (AnalysisEngine.getUimaContextAdmin()).
    `aSize` - the minimum CAS pool size required
    `aPerformanceTuningSettings` - settings, including initial CAS heap size, for the AE
  Throws:
    `ResourceInitializationException` - if a CAS could not be created.

### getCas

    CAS getCas(String aRequestorContextName)

  Gets an empty CAS. An AnalysisEngine may only call this method after it has first called `defineCasPool(String, int, Properties)` and established a CAS Pool of size > 0. The CAS Manager maintains a separate pool for each AnalysisEngine. This method may block if the CAS pool does not contain any free instances.

  Parameters:
    `aRequestorContextName` - the context name of the AE requesting the CAS (AnalysisEngine.getUimaContextAdmin().getQualifiedContextName()).
  Returns:
    an empty CAS

### createNewCas

    CAS createNewCas(Properties aPerformanceTuningSettings)
                     throws ResourceInitializationException

  Create a new CAS using the CasDefinition stored in this CAS Manager. Note that this new CAS will not belong to any pool managed by this CAS Manager. If this method is called multiple times while the CasDefinition is constant, each new CAS will share an identical TypeSystem object.

  Parameters:
    `aPerformanceTuningSettings` - settings, including initial CAS heap size, for the AE
  Returns:
    a new CAS
  Throws:
    `ResourceInitializationException` - if the CAS could not be created

### getCasInterface

    AbstractCas getCasInterface(CAS cas,
                                Class requiredInterface)

  Gets a specified interface to a CAS.

  Parameters:
    `cas` - The CAS
    `requiredInterface` - interface to get. Currently must be either CAS or JCas.

### setJmxInfo

    void setJmxInfo(Object aMBeanServer,
                    String aRootComponentMBeanName)

  Configures this CAS Manager so it can register an MBean for each of its CAS pools.

  Parameters:
    `aMBeanServer` - the JMX MBean Server to register MBeans with. If null, the platform MBeanServer (Java 1.5+ only) will be used.
    `aRootComponentMBeanName` - unique MBean name for the root component that owns this CAS Manager. The names of the CAS Pool MBeans will be formed by appending `,casPoolContextName=[contextName]` to the root component name, where [contextName] is the requestorContextName for the CasPool.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2008 The Apache Software Foundation. All Rights Reserved.