Base interface for a component that can process a CAS. This includes both components that modify the CAS (such as an {@link org.apache.uima.analysis_engine.AnalysisEngine} as well as those thatdo not (such as a {@link org.apache.uima.collection.CasConsumer}). Whether the CasProcessor modifies the CAS can be determined by calling its {@link #isReadOnly()} method.
CasProcessor
s can be "plugged into" the {@link org.apache.uima.collection.CollectionProcessingManager}.
CAS Processors should not directly implement this interface; instead they should implement one of its subinterfaces:
- {@link CasDataProcessor} - for CAS processors that want to interact directly with the{@link org.apache.uima.cas_data.CasData}. This works best for simple processors that do not need the indexing or strong typing features provided by the CAS container.
- {@link CasObjectProcessor} - for CAS processors that want to use the full{@link org.apache.uima.cas.CAS} implementation.
Analysis Engines and CAS Consumers implement {@link CasObjectProcessor}.
All CAS processors must publish their metadata via the {@link #getProcessingResourceMetaData()}method.