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 © 2011. All Rights Reserved.