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 and Description
    `ASB_impl()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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 Detail

    - #### ASB_impl

          public ASB_impl()

  - ### Method Detail

    - #### 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

Copyright © 2006–2022 The Apache Software Foundation. All rights reserved.