Class ASB_impl
java.lang.Object
org.apache.uima.resource.Resource_ImplBase
org.apache.uima.analysis_engine.asb.impl.ASB_impl
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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
destroy()
Releases all resources held by thisResource
.Gets the metadata for all components known to this ASB.Gets metadata for all of the component AnalysisEngines known to thisASB
.Gets references to the component AnalysisEngines known to thisASB
.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.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 ResourceInitializationExceptionInitializes this ASB.- Specified by:
initialize
in interfaceResource
- Overrides:
initialize
in classResource_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:
-
destroy
public void destroy()Description copied from interface:Resource
Releases all resources held by thisResource
.- Specified by:
destroy
in interfaceResource
- Overrides:
destroy
in classResource_ImplBase
- See Also:
-
setup
public void setup(Map<String, ResourceSpecifier> aSpecifiers, UimaContextAdmin aParentContext, FlowControllerDeclaration aFlowControllerDeclaration, AnalysisEngineMetaData aAggregateMetadata) throws ResourceInitializationExceptionCalled after calling initialize() (see above) by the Aggregate Analysis Engine to provide this ASB with information it needs to operate.- Specified by:
setup
in interfaceASB
- Parameters:
aSpecifiers
- the specifiers for all component AEs within this Aggregate. The ASB will instantiate those AEs.aParentContext
- UIMA context for the aggregate AEaFlowControllerDeclaration
- 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
Description copied from interface:ASB
Gets metadata for all of the component AnalysisEngines known to thisASB
.- Specified by:
getComponentAnalysisEngineMetaData
in interfaceASB
- Returns:
- a Map from String keys (the same keys used in
AnalysisEngineDescription.getDelegateAnalysisEngineSpecifiers()
toAnalysisEngineMetaData
values. - See Also:
-
getComponentAnalysisEngines
Description copied from interface:ASB
Gets references to the component AnalysisEngines known to thisASB
.- Specified by:
getComponentAnalysisEngines
in interfaceASB
- Returns:
- a Map from String keys (the same keys used in
AnalysisEngineDescription.getDelegateAnalysisEngineSpecifiers()
toAnalysisEngine
objects. - See Also:
-
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 interfaceASB
- Returns:
- a Map from String keys (the same keys used in the aggregate AE descriptor) to
ProcessingResourceMetaData
values.
-
process
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 theCasIterator
.If the aggregate does not generate any output CASes of the input CAS, an empty
CasIterator
will be returned.- Specified by:
process
in interfaceASB
- Parameters:
aCAS
- the CAS to process- Returns:
- an iterator over all output CASes
- Throws:
AnalysisEngineProcessException
- -
-
getFlowControllerContainer
Not public API. Is declared public so it can be used by test case.- Specified by:
getFlowControllerContainer
in interfaceASB
- Returns:
- an instance of
FlowControllerContainer
-
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
-