Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.uima.collection.base_cpm
Interface CasProcessor

All Known Subinterfaces:
  AnalysisEngine, CasConsumer, CasDataConsumer, CasDataProcessor, CasObjectProcessor, TextAnalysisEngine

All Known Implementing Classes:
  CasConsumer_ImplBase, CasDataConsumer_ImplBase

    public interface CasProcessor

Base interface for a component that can process a CAS. This includes both components that modify the CAS (such as an `AnalysisEngine` as well as those that do not (such as a `CasConsumer`). Whether the CasProcessor modifies the CAS can be determined by calling its `isReadOnly()` method.

`CasProcessor`s can be "plugged into" the `CollectionProcessingManager`.

CAS Processors should not directly implement this interface; instead they should implement one of its subinterfaces:

- `CasDataProcessor` - for CAS processors that want to interact directly with the `CasData`. This works best for simple processors that do not need the indexing or strong typing features provided by the CAS container.
- `CasObjectProcessor` - for CAS processors that want to use the full `CAS` implementation.

Analysis Engines and CAS Consumers implement `CasObjectProcessor`.

All CAS processors must publish their metadata via the `getProcessingResourceMetaData()` method.

Method Summary
`void` | `batchProcessComplete(ProcessTrace aTrace)` Completes the processing of a batch.
`void` | `collectionProcessComplete(ProcessTrace aTrace)` Completes the processing of an entire collection.
`ProcessingResourceMetaData` | `getProcessingResourceMetaData()` Gets the metadata that describes this `CasProcesor`.
`boolean` | `isReadOnly()` Gets whether this is a read-only CAS Processor, which does not modify the CAS.
`boolean` | `isStateless()` Gets whether this is a stateless CAS Processor.

Method Detail

### isStateless

    boolean isStateless()

  Gets whether this is a stateless CAS Processor. Stateless CAS Processors do not maintain any data between calls to their process methods.

  Returns:
    true if this CAS processor is stateless, false if it is stateful.

### isReadOnly

    boolean isReadOnly()

  Gets whether this is a read-only CAS Processor, which does not modify the CAS.

  Returns:
    true if this CAS processor does not modify the CAS, false if it does.

### getProcessingResourceMetaData

    ProcessingResourceMetaData getProcessingResourceMetaData()

  Gets the metadata that describes this `CasProcesor`.

  Returns:
    an object containing all metadata for this CasProcessor

### batchProcessComplete

    void batchProcessComplete(ProcessTrace aTrace)
                              throws ResourceProcessException,
                                     IOException

  Completes the processing of a batch. A collection may be divided into one or more batches - it is up to the CollectionProcessingManager or the application to determine the number and size of batches.

  Parameters:
    `aTrace` - an object that records information, such as timing, about this method's execution.
  Throws:
    `ResourceProcessException` - if an exception occurs during processing
    `IOException` - if an I/O failure occurs

### collectionProcessComplete

    void collectionProcessComplete(ProcessTrace aTrace)
                                   throws ResourceProcessException,
                                          IOException

  Completes the processing of an entire collection.

  Parameters:
    `aTrace` - an object that records information, such as timing, about this method's execution.
  Throws:
    `ResourceProcessException` - if an exception occurs during processing
    `IOException` - if an I/O failure occurs

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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