org.apache.uima.examples.flow
Class WhiteboardFlowController
java.lang.Object
org.apache.uima.flow.FlowController_ImplBase
org.apache.uima.flow.CasFlowController_ImplBase
org.apache.uima.examples.flow.WhiteboardFlowController
- All Implemented Interfaces:
- FlowController
public class WhiteboardFlowController
- extends CasFlowController_ImplBase
FlowController implementing a simple version of the "whiteboard" flow model. Each time a CAS is
received, it looks at the pool of available AEs that have not yet run on that CAS, and picks one
whose input requirements are satisfied.
Limitations: only looks at types, not features. Ignores languagesSupported. Does not handle
multiple Sofas or CasMultipliers.
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
WhiteboardFlowController
public WhiteboardFlowController()
initialize
public void initialize(FlowControllerContext aContext)
throws ResourceInitializationException
- Description copied from interface:
FlowController
- Performs any startup tasks required by this component. The framework calls this method only
once, just after the FlowController has been instantiated.
The framework supplies this FlowController with a reference to the
FlowControllerContext that it will use, for example to access configuration settings or
resources. This FlowController should store a reference to this Context for later use.
- Specified by:
initialize in interface FlowController- Overrides:
initialize in class FlowController_ImplBase
- Parameters:
aContext - Provides access to services and resources managed by the framework. This includes
configuration parameters, logging, and access to external resources. Also provides the
FlowController with the metadata of all of the AnalysisEngines that are possible
targets for routing CASes.
- Throws:
ResourceInitializationException - if the FlowController cannot initialize successfully.
computeFlow
public Flow computeFlow(CAS aCAS)
throws AnalysisEngineProcessException
- Description copied from class:
CasFlowController_ImplBase
- This method must be overriden by subclasses. It takes a
CAS and returns a Flow
object that is responsible for routing this particular CAS through the components of this
Aggregate. The Flow object should be given a handle to the CAS, so that it can
use information in the CAS to make routing decisions.
FlowController implementations will typically define their own class that implements
Flow by extending from the base class CasFlow_ImplBase. This method would then
just instantiate the flow object, call its setCas method to provide a handle to
the CAS, and return the flow object.
- Specified by:
computeFlow in class CasFlowController_ImplBase
- Parameters:
aCAS - the CAS to be routed
- Returns:
- a Flow object that will be used to route
aCAS
- Throws:
AnalysisEngineProcessException - if a problem occurs during processing- See Also:
FlowController.computeFlow(AbstractCas)
Copyright © 2012. All Rights Reserved.