org.apache.uima.flow
Class JCasFlow_ImplBase

java.lang.Object
  extended by org.apache.uima.flow.JCasFlow_ImplBase
All Implemented Interfaces:
Flow

public abstract class JCasFlow_ImplBase
extends Object
implements Flow

Convenience base class for Flow objects that use the JCas interface. Stores the JCas in a field made accessible through the protected getJCas() method.


Constructor Summary
JCasFlow_ImplBase()
           
 
Method Summary
 void aborted()
          By default, does nothing.
 boolean continueOnFailure(String failedAeKey, Exception failure)
          By default, returns false, indicating that processing cannot continue after a failure.
protected  JCas getJCas()
          Gets the JCas being routed by this Flow object.
 Flow newCasProduced(AbstractCas newCas, String producedBy)
          Overriden to check that newCas is an instanceof JCas.
protected  Flow newCasProduced(JCas newCas, String producedBy)
          By default, throws an exception to indicate this this Flow object does not support new CASes being produced in the middle of the flow.
 void setJCas(JCas aJCas)
          Deprecated. this is done automatically by the framework with the Flow object is created
 
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.flow.Flow
next
 

Constructor Detail

JCasFlow_ImplBase

public JCasFlow_ImplBase()
Method Detail

setJCas

@Deprecated
public void setJCas(JCas aJCas)
Deprecated. this is done automatically by the framework with the Flow object is created

Sets the JCas to be routed by this Flow object. This should be called from the FlowController.computeFlow(AbstractCas) method after this Flow object is instantiated.

Parameters:
aJCas - the JCas to be routed by this Flow object

newCasProduced

public final Flow newCasProduced(AbstractCas newCas,
                                 String producedBy)
                          throws AnalysisEngineProcessException
Overriden to check that newCas is an instanceof JCas. If it is, then newCasProduced(JCas,String) is called. If not, an exception is thrown.

Specified by:
newCasProduced in interface Flow
Parameters:
newCas - the new CAS
producedBy - key of the AnalysisEngine (CAS Multiplier) that produced the new CAS
Returns:
a new Flow object that has responsibility for routing aCAS through the Aggregate Analysis Engine.
Throws:
AnalysisEngineProcessException
See Also:
Flow.newCasProduced(AbstractCas, String)

continueOnFailure

public boolean continueOnFailure(String failedAeKey,
                                 Exception failure)
By default, returns false, indicating that processing cannot continue after a failure. May be overridden by subclasses to allow processing to continue.

Specified by:
continueOnFailure in interface Flow
Parameters:
failedAeKey - The key of the analysis engine that failed.
failure - the Exception that occurred
Returns:
true if the FlowController decides that processing of the CAS can continue; false if processing of the CAS should be aborted.
See Also:
Flow.continueOnFailure(String, java.lang.Exception)

aborted

public void aborted()
By default, does nothing. May be overriden by subclasses to release resources when a flow is aborted.

Specified by:
aborted in interface Flow
See Also:
Flow.aborted()

newCasProduced

protected Flow newCasProduced(JCas newCas,
                              String producedBy)
                       throws AnalysisEngineProcessException
By default, throws an exception to indicate this this Flow object does not support new CASes being produced in the middle of the flow. Subclasses can override to implement handling for this.

Parameters:
newCas - the new JCas
producedBy - the key of the CAS Multiplier that produced this JCas
Returns:
a Flow object that will be used to route the new JCas
Throws:
AnalysisEngineProcessException
See Also:
Flow.newCasProduced(AbstractCas, String)

getJCas

protected JCas getJCas()
Gets the JCas being routed by this Flow object.

Returns:
the JCas being routed by this Flow object


Copyright © 2010 The Apache Software Foundation. All Rights Reserved.