Class CasAnnotator_ImplBase
- java.lang.Object
-
- org.apache.uima.analysis_component.AnalysisComponent_ImplBase
-
- org.apache.uima.analysis_component.Annotator_ImplBase
-
- org.apache.uima.analysis_component.CasAnnotator_ImplBase
-
- All Implemented Interfaces:
AnalysisComponent
- Direct Known Subclasses:
XmlDetagger
public abstract class CasAnnotator_ImplBase extends Annotator_ImplBase
Base class to be extended by Annotators that use theCAS
interface. An Annotator is anAnalysisComponent
that may modify its input CAS, but never creates any new CASes as output.
-
-
Field Summary
Fields Modifier and Type Field Description private TypeSystem
mLastTypeSystem
Stores the last type system that this component operated on, so we can tell when typeSystemInit needs to be called.
-
Constructor Summary
Constructors Constructor Description CasAnnotator_ImplBase()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description private void
checkTypeSystemChange(CAS aCAS)
Checks it the type system of the given CAS is different from the last type system this component was operating on.java.lang.Class<CAS>
getRequiredCasInterface()
Returns the specific CAS interface that this AnalysisComponent requires the framework to pass to itsAnalysisComponent.process(AbstractCas)
method.void
process(AbstractCas aCAS)
Inputs a CAS to the AnalysisComponent.abstract void
process(CAS aCAS)
Inputs a CAS to the AnalysisComponent.void
typeSystemInit(TypeSystem aTypeSystem)
Informs this annotator that the CAS TypeSystem has changed.-
Methods inherited from class org.apache.uima.analysis_component.Annotator_ImplBase
getCasInstancesRequired, hasNext, next
-
Methods inherited from class org.apache.uima.analysis_component.AnalysisComponent_ImplBase
batchProcessComplete, collectionProcessComplete, destroy, getContext, getLogger, getResultSpecification, initialize, reconfigure, setResultSpecification
-
-
-
-
Field Detail
-
mLastTypeSystem
private TypeSystem mLastTypeSystem
Stores the last type system that this component operated on, so we can tell when typeSystemInit needs to be called.
-
-
Method Detail
-
getRequiredCasInterface
public java.lang.Class<CAS> getRequiredCasInterface()
Description copied from interface:AnalysisComponent
Returns the specific CAS interface that this AnalysisComponent requires the framework to pass to itsAnalysisComponent.process(AbstractCas)
method.- Returns:
- the required CAS interface. This must specify a subtype of
AbstractCas
.
-
process
public final void process(AbstractCas aCAS) throws AnalysisEngineProcessException
Description copied from interface:AnalysisComponent
Inputs a CAS to the AnalysisComponent. The AnalysisComponent "owns" this CAS until such time asAnalysisComponent.hasNext()
is called and returns false or untilprocess
is called again (see class description).- Parameters:
aCAS
- A CAS that this AnalysisComponent should process. The framework will ensure that aCAS implements the specific CAS interface specified by theAnalysisComponent.getRequiredCasInterface()
method.- Throws:
AnalysisEngineProcessException
- if a problem occurs during processing
-
process
public abstract void process(CAS aCAS) throws AnalysisEngineProcessException
Inputs a CAS to the AnalysisComponent. This method should be overriden by subclasses to perform analysis of the CAS.- Parameters:
aCAS
- A CAS that this AnalysisComponent should process.- Throws:
AnalysisEngineProcessException
- if a problem occurs during processing
-
typeSystemInit
public void typeSystemInit(TypeSystem aTypeSystem) throws AnalysisEngineProcessException
Informs this annotator that the CAS TypeSystem has changed. The Analysis Engine calls this from PrimitiveAnalysisEngine_impl which-calls CasAnnotator_ImplBase.process which-calls checkTypeSystemChangeIn this method, the Annotator should use the
TypeSystem
to resolve the names of Type and Features to the actualType
andFeature
objects, which can then be used during processing.- Parameters:
aTypeSystem
- the new type system to use as input to your initialization- Throws:
AnalysisEngineProcessException
- if the provided type system is missing types or features required by this annotator
-
checkTypeSystemChange
private void checkTypeSystemChange(CAS aCAS) throws AnalysisEngineProcessException
Checks it the type system of the given CAS is different from the last type system this component was operating on. If it is different, calls the typeSystemInit method on the component.- Throws:
AnalysisEngineProcessException
-
-