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 theCASinterface. An Annotator is anAnalysisComponentthat may modify its input CAS, but never creates any new CASes as output.
-
-
Field Summary
Fields Modifier and Type Field Description private TypeSystemmLastTypeSystemStores 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 voidcheckTypeSystemChange(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.voidprocess(AbstractCas aCAS)Inputs a CAS to the AnalysisComponent.abstract voidprocess(CAS aCAS)Inputs a CAS to the AnalysisComponent.voidtypeSystemInit(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:AnalysisComponentReturns 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:AnalysisComponentInputs a CAS to the AnalysisComponent. The AnalysisComponent "owns" this CAS until such time asAnalysisComponent.hasNext()is called and returns false or untilprocessis 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
TypeSystemto resolve the names of Type and Features to the actualTypeandFeatureobjects, 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
-
-