Package org.apache.uima.analysis_engine.asb.impl

# Class ASB_impl

java.lang.Object
org.apache.uima.resource.Resource_ImplBase
org.apache.uima.analysis_engine.asb.impl.ASB_impl

All Implemented Interfaces:
  `ASB`, `Resource`

public class ASB_impl extends Resource_ImplBase implements ASB
A simple `ASB` implementation. This implementation is not specific to any transport technology. It simply uses the `ResourceFactory` to acquire instances of its delegate AnalysisEngines and then communicates with these delegate AnalysisEngines through the `AnalysisEngine` interface. Any communication with remote AnalysisEngine services is done through a `AnalysisEngineServiceAdapter` and is not the concern of this ASB implementation.

- ## Field Summary

  ### Fields inherited from interface org.apache.uima.analysis_engine.asb.ASB

  `PARAM_AGGREGATE_ANALYSIS_ENGINE_NAME`

  ### Fields inherited from interface org.apache.uima.resource.Resource

  `PARAM_AGGREGATE_SOFA_MAPPINGS, PARAM_CONFIG_MANAGER, PARAM_CONFIG_PARAM_SETTINGS, PARAM_EXTERNAL_OVERRIDE_SETTINGS, PARAM_PERFORMANCE_TUNING_SETTINGS, PARAM_RESOURCE_MANAGER, PARAM_UIMA_CONTEXT`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ASB_impl()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `destroy()`
  Releases all resources held by this `Resource`.
  `Map<String,ProcessingResourceMetaData>`
  `getAllComponentMetaData()`
  Gets the metadata for all components known to this ASB.
  `Map<String,AnalysisEngineMetaData>`
  `getComponentAnalysisEngineMetaData()`
  Gets metadata for all of the component AnalysisEngines known to this `ASB`.
  `Map<String,AnalysisEngine>`
  `getComponentAnalysisEngines()`
  Gets references to the component AnalysisEngines known to this `ASB`.
  `FlowControllerContainer`
  `getFlowControllerContainer()`
  Not public API.
  `protected AnalysisEngineManagementImpl`
  `getMBean()`
  Gets the MBean that provides the management interface to this AE.
  `protected void`
  `initFlowController(FlowControllerDeclaration aFlowControllerDeclaration, UimaContextAdmin aParentContext, AnalysisEngineMetaData aAggregateMetadata)`
  `boolean`
  `initialize(ResourceSpecifier aSpecifier, Map<String,Object> aAdditionalParams)`
  Initializes this ASB.
  `CasIterator`
  `process(CAS aCAS)`
  Invokes the processing of the aggregate on the given input CAS.
  `void`
  `setup(Map<String,ResourceSpecifier> aSpecifiers, UimaContextAdmin aParentContext, FlowControllerDeclaration aFlowControllerDeclaration, AnalysisEngineMetaData aAggregateMetadata)`
  Called after calling initialize() (see above) by the Aggregate Analysis Engine to provide this ASB with information it needs to operate.

  ### Methods inherited from class org.apache.uima.resource.Resource_ImplBase

  `getCasManager, getLogger, getMetaData, getRelativePathResolver, getResourceManager, getUimaContext, getUimaContextAdmin, loadUserClass, loadUserClassOrThrow, setContextHolder, setContextHolderX, setLogger, setMetaData, withContextHolder`

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

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

  ### Methods inherited from interface org.apache.uima.resource.Resource

  `getLogger, getMetaData, getResourceManager, getUimaContext, getUimaContextAdmin, setLogger`

- ## Constructor Details

  - ### ASB_impl

    public ASB_impl()

- ## Method Details

  - ### initialize

    public boolean initialize(ResourceSpecifier aSpecifier, Map<String,Object> aAdditionalParams) throws ResourceInitializationException
    Initializes this ASB.
    Specified by:
      `initialize` in interface `Resource`
    Overrides:
      `initialize` in class `Resource_ImplBase`
    Parameters:
      `aSpecifier` - describes how to create this ASB.
      `aAdditionalParams` - parameters which are passed along to the delegate Analysis Engines when they are constructed
    Returns:
      true if and only if initialization completed successfully. Returns false if this implementation cannot handle the given `ResourceSpecifier`.
    Throws:
      `ResourceInitializationException` - if a failure occurs during initialization.
    See Also:
      - `Resource.initialize(ResourceSpecifier, Map)`

  - ### destroy

    public void destroy()
    Description copied from interface: `Resource`
    Releases all resources held by this `Resource`.
    Specified by:
      `destroy` in interface `Resource`
    Overrides:
      `destroy` in class `Resource_ImplBase`
    See Also:
      - `Resource.destroy()`

  - ### setup

    public void setup(Map<String,ResourceSpecifier> aSpecifiers, UimaContextAdmin aParentContext, FlowControllerDeclaration aFlowControllerDeclaration, AnalysisEngineMetaData aAggregateMetadata) throws ResourceInitializationException
    Called after calling initialize() (see above) by the Aggregate Analysis Engine to provide this ASB with information it needs to operate.
    Specified by:
      `setup` in interface `ASB`
    Parameters:
      `aSpecifiers` - the specifiers for all component AEs within this Aggregate. The ASB will instantiate those AEs.
      `aParentContext` - UIMA context for the aggregate AE
      `aFlowControllerDeclaration` - declaration (key and specifier) of FlowController to be used for this aggregate.
      `aAggregateMetadata` - metadata for the aggregate AE
    Throws:
      `ResourceInitializationException` - passthru

  - ### initFlowController

    protected void initFlowController(FlowControllerDeclaration aFlowControllerDeclaration, UimaContextAdmin aParentContext, AnalysisEngineMetaData aAggregateMetadata) throws ResourceInitializationException
    Throws:
      `ResourceInitializationException`

  - ### getComponentAnalysisEngineMetaData

    public Map<String,AnalysisEngineMetaData> getComponentAnalysisEngineMetaData()
    Description copied from interface: `ASB`
    Gets metadata for all of the component AnalysisEngines known to this `ASB`.
    Specified by:
      `getComponentAnalysisEngineMetaData` in interface `ASB`
    Returns:
      a Map from String keys (the same keys used in `AnalysisEngineDescription.getDelegateAnalysisEngineSpecifiers()` to `AnalysisEngineMetaData` values.
    See Also:
      - `ASB.getComponentAnalysisEngineMetaData()`

  - ### getComponentAnalysisEngines

    public Map<String,AnalysisEngine> getComponentAnalysisEngines()
    Description copied from interface: `ASB`
    Gets references to the component AnalysisEngines known to this `ASB`.
    Specified by:
      `getComponentAnalysisEngines` in interface `ASB`
    Returns:
      a Map from String keys (the same keys used in `AnalysisEngineDescription.getDelegateAnalysisEngineSpecifiers()` to `AnalysisEngine` objects.
    See Also:
      - `ASB.getComponentAnalysisEngines()`

  - ### getAllComponentMetaData

    public Map<String,ProcessingResourceMetaData> getAllComponentMetaData()
    Description copied from interface: `ASB`
    Gets the metadata for all components known to this ASB. This includes the FlowController as well as the component AnalysisEngines.
    Specified by:
      `getAllComponentMetaData` in interface `ASB`
    Returns:
      a Map from String keys (the same keys used in the aggregate AE descriptor) to `ProcessingResourceMetaData` values.

  - ### process

    public CasIterator process(CAS aCAS) throws AnalysisEngineProcessException
    Description copied from interface: `ASB`
    Invokes the processing of the aggregate on the given input CAS. This returns a CasIterator that provides access to the one or more output CASes generated from the processing. The input CAS, including any modifications made to it during processing, will always be the very last element returned by the `CasIterator`.

    If the aggregate does not generate any output CASes of the input CAS, an empty `CasIterator` will be returned.

    Specified by:
      `process` in interface `ASB`
    Parameters:
      `aCAS` - the CAS to process
    Returns:
      an iterator over all output CASes
    Throws:
      `AnalysisEngineProcessException` - -

  - ### getFlowControllerContainer

    public FlowControllerContainer getFlowControllerContainer()
    Not public API. Is declared public so it can be used by test case.
    Specified by:
      `getFlowControllerContainer` in interface `ASB`
    Returns:
      an instance of `FlowControllerContainer`

  - ### getMBean

    protected AnalysisEngineManagementImpl getMBean()
    Gets the MBean that provides the management interface to this AE. Returns the same object as UimaContext.getManagementInterface() but casted to the AnalysisEngineManagement type.
    Returns:
      the MBean for the management interface to this AE