Class ParallelStep

java.lang.Object
org.apache.uima.flow.Step
org.apache.uima.flow.ParallelStep

public class ParallelStep extends Step
Indicates that a CAS should be routed to a multiple AnalysisEngines and that the relative order in which these execute does not matter. Logically, they can run in parallel. The runtime is not obligated to actually execute them in parallel, however.

After all the specified Analysis Engines have completed their processing, the Flow.next() method will be called again to determine the next destination for the CAS.

  • Constructor Details

    • ParallelStep

      public ParallelStep(Collection<String> aAnalysisEngineKeys)
      Creates a new ParallelStep
      Parameters:
      aAnalysisEngineKeys - A Collection of Strings, where each String is the key of an Analysis Engine to which the CAS should be routed. Each String must bee one of the keys in the FlowController's FlowControllerContext.getAnalysisEngineMetaDataMap().
  • Method Details

    • getAnalysisEngineKeys

      public Collection<String> getAnalysisEngineKeys()
      Gets the keys of the Analysis Engines to which the CAS should be routed.
      Returns:
      an unmodifiable Collection of Strings, where each String is the key of an Analysis Engine to which the CAS should be routed.
    • setAnalysisEngineKeys

      public void setAnalysisEngineKeys(Collection<String> aKeys)
      Sets the keys of the Analysis Engines to which the CAS should be routed. By using this method, a user's Flow implementation can (but is not required to) reuse the same ParallelStep object multiple times.
      Parameters:
      aKeys - A Collection of Strings, where each String is the key of an Analysis Engine to which the CAS should be routed. Each String must bee one of the keys in the FlowController's FlowControllerContext.getAnalysisEngineMetaDataMap().