org.apache.uima.analysis_component

## Class CasMultiplier_ImplBase

- java.lang.Object
- - org.apache.uima.analysis_component.AnalysisComponent_ImplBase
  - - org.apache.uima.analysis_component.CasMultiplier_ImplBase

- All Implemented Interfaces:
    AnalysisComponent

      public abstract class CasMultiplier_ImplBase
      extends AnalysisComponent_ImplBase

  Base class to be extended by CAS Multipliers that use the `CAS` interface. A CAS Multiplier can produce multiple output CASes while processing an input CAS. See `AnalysisComponent` for a description of how the framework calls the methods on this interface.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `CasMultiplier_ImplBase()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getCasInstancesRequired()` Returns the maximum number of CAS instances that this CAS Multiplier expects to use at the same time.
    `protected CAS` | `getEmptyCAS()` Gets an empty CAS that this CAS Multiplier can then populate.
    `Class<CAS>` | `getRequiredCasInterface()` Returns the specific CAS interface that this AnalysisComponent requires the framework to pass to its `AnalysisComponent.process(AbstractCas)` method.
    `void` | `process(AbstractCas aCAS)` Inputs a CAS to the AnalysisComponent.
    `abstract void` | `process(CAS aCAS)` This method should be overriden by subclasses.
    `void` | `typeSystemInit(TypeSystem aTypeSystem)` Informs this annotator that the CAS TypeSystem has changed.

    - ### Methods inherited from class org.apache.uima.analysis_component.AnalysisComponent_ImplBase

      `batchProcessComplete, collectionProcessComplete, destroy, getContext, getLogger, getResultSpecification, initialize, reconfigure, setResultSpecification`

    - ### 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.analysis_component.AnalysisComponent

      `hasNext, next`

- - ### Constructor Detail

    - #### CasMultiplier_ImplBase

          public CasMultiplier_ImplBase()

  - ### Method Detail

    - #### getRequiredCasInterface

          public final Class<CAS> getRequiredCasInterface()

      Description copied from interface: `AnalysisComponent`
      Returns the specific CAS interface that this AnalysisComponent requires the framework to pass to its `AnalysisComponent.process(AbstractCas)` method.
      Returns:
        the required CAS interface. This must specify a subtype of `AbstractCas`.

    - #### getCasInstancesRequired

          public int getCasInstancesRequired()

      Returns the maximum number of CAS instances that this CAS Multiplier expects to use at the same time. Returns a default value of 1, which will be sufficient for most CAS Multipliers. Only if there is a clear need should this be overridden to return something greater than 1.
      Returns:
        the number of CAS instances required by this AnalysisComponent.

    - #### 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 as `AnalysisComponent.hasNext()` is called and returns false or until `process` 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 the `AnalysisComponent.getRequiredCasInterface()` method.
      Throws:
        `AnalysisEngineProcessException` - if a problem occurs during processing

    - #### process

          public abstract void process(CAS aCAS)
                                throws AnalysisEngineProcessException

      This method should be overriden by subclasses. Inputs a CAS to the AnalysisComponent. The AnalysisComponent "owns" this CAS until such time as `AnalysisComponent.hasNext()` is called and returns false, or until the `process` method is called again (see `AnalysisComponent` for details).
      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 CasMultiplier_ImplBase.process which-calls checkTypeSystemChange and will call it again whenever the CAS TypeSystem changes.

      In this method, the Annotator should use the `TypeSystem` to resolve the names of Type and Features to the actual `Type` and `Feature` 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

    - #### getEmptyCAS

          protected final CAS getEmptyCAS()

      Gets an empty CAS that this CAS Multiplier can then populate.
      Returns:
        an empty CAS

Copyright © 2006–2022 The Apache Software Foundation. All rights reserved.