Class UimacppAnalysisEngineImpl

All Implemented Interfaces:
AnalysisEngine, TextAnalysisEngine, CasObjectProcessor, CasProcessor, ConfigurableResource, Resource

public class UimacppAnalysisEngineImpl extends AnalysisEngineImplBase implements AnalysisEngine
Reference implementation of AnalysisEngine.
  • Constructor Details

    • UimacppAnalysisEngineImpl

      public UimacppAnalysisEngineImpl()
  • Method Details

    • initialize

      public boolean initialize(ResourceSpecifier aSpecifier, Map<String,Object> aAdditionalParams) throws ResourceInitializationException
      Description copied from interface: Resource
      Initializes this Resource from a ResourceSpecifier. Applications do not need to call this method. It is called automatically by the ResourceFactory and cannot be called a second time.
      Specified by:
      initialize in interface AnalysisEngine
      Specified by:
      initialize in interface Resource
      Overrides:
      initialize in class AnalysisEngineImplBase
      Parameters:
      aSpecifier - specifies how to create a resource or locate an existing resource service.
      aAdditionalParams - a Map containing additional parameters. May be null if there are no parameters. Each class that implements this interface can decide what additional parameters it supports.
      Returns:
      true if and only if initialization completed successfully. Returns false if the given ResourceSpecifier is not of an appropriate type for this Resource. If the ResourceSpecifier is of an appropriate type but is invalid or if some other failure occurs, an exception should be thrown.
      Throws:
      ResourceInitializationException - or wraps invalid xml exception when processing imports
      See Also:
    • setResultSpecification

      public void setResultSpecification(ResultSpecification aResultSpec)
      Description copied from interface: AnalysisEngine
      Sets the list of output types and features that the application wants this AnalysisEngine to produce. This is only a guideline. Annotators may use this information to avoid doing unnecessary work, but they are not required to do so.
      Specified by:
      setResultSpecification in interface AnalysisEngine
      Overrides:
      setResultSpecification in class AnalysisEngineImplBase
      Parameters:
      aResultSpec - specifies the list of output types and features that the application is interested in.
    • destroy

      public void destroy()
      Description copied from interface: Resource
      Releases all resources held by this Resource.
      Specified by:
      destroy in interface Resource
      Overrides:
      destroy in class Resource_ImplBase
      See Also:
    • processAndOutputNewCASes

      public CasIterator processAndOutputNewCASes(CAS aCAS) throws AnalysisEngineProcessException
      Description copied from interface: AnalysisEngine
      Processes a CAS, possibly producing multiple CASes as a result. The application uses the CasIterator interface to step through the output CASes.

      If this Analysis Engine does not produce output CASes, then the CasIterator will return no elements. You can check if an AnalysisEngine is capable of producing output CASes by checking the OperationalProperties.getOutputsNewCASes() operational property (getAnalysisEngineMetaData().getOperationalProperties().getOutputsNewCASes()).

      Once this method is called, the AnalysisEngine "owns" aCAS until such time as the CasIterator.hasNext() method returns false. That is, the caller should not attempt to modify or access the input CAS until it has read all of the elements from the CasIterator. If the caller wants to abort the processing before having read all of the output CASes, it may call CasIterator.release(), which will stop further processing from occurring, and ownership of aCAS will revert to the caller.

      Specified by:
      processAndOutputNewCASes in interface AnalysisEngine
      Overrides:
      processAndOutputNewCASes in class AnalysisEngineImplBase
      Parameters:
      aCAS - the CAS to be processed
      Returns:
      an object for iterating through any output CASes
      Throws:
      AnalysisEngineProcessException - if a failure occurs during processing
    • batchProcessComplete

      public void batchProcessComplete() throws AnalysisEngineProcessException
      Description copied from interface: AnalysisEngine
      Notifies this AnalysisEngine that processing of a batch has completed. It is up to the caller to determine the size of a batch. Components (particularly CAS Consumers) inside this Analysis Engine may respond to this event, for example by writing data to the disk.
      Specified by:
      batchProcessComplete in interface AnalysisEngine
      Overrides:
      batchProcessComplete in class AnalysisEngineImplBase
      Throws:
      AnalysisEngineProcessException - if an exception occurs during processing
    • collectionProcessComplete

      public void collectionProcessComplete() throws AnalysisEngineProcessException
      Description copied from interface: AnalysisEngine
      Notifies this AnalysisEngine that processing of an entire collection has completed. It is up to the caller to determine when this has occurred. Components (particularly CAS Consumers) inside this Analysis Engine may respond to this event, for example by writing data to the disk.

      If this AnalysisEngine is an aggregate, this method will call the collectionProcessComplete method of all components of that aggregate. If the aggregate descriptor declares a fixedFlow or capabilityLanguageFlow, then the components' collectionProcessComplete methods will be called in the order specified by that flow element. Once all components in the flow have been called, any components not declared in the flow will be called, in arbitrary order. If there is no fixedFlow or capabilityLanguageFlow, then all components in the aggregate will be called in arbitrary order.

      Specified by:
      collectionProcessComplete in interface AnalysisEngine
      Overrides:
      collectionProcessComplete in class AnalysisEngineImplBase
      Throws:
      AnalysisEngineProcessException - if an exception occurs during processing
    • reconfigure

      public void reconfigure() throws ResourceConfigurationException
      Description copied from interface: ConfigurableResource
      Instructs this Resource to re-read its configuration parameter settings.
      Specified by:
      reconfigure in interface AnalysisEngine
      Specified by:
      reconfigure in interface ConfigurableResource
      Overrides:
      reconfigure in class ConfigurableResource_ImplBase
      Throws:
      ResourceConfigurationException - if the configuration is not valid
      See Also:
    • callAnalysisComponentProcess

      protected void callAnalysisComponentProcess(CAS aCAS) throws AnalysisEngineProcessException
      Calls the Analysis Component's process method.
      Parameters:
      aCAS - CAS to be processed by annotator
      Throws:
      AnalysisEngineProcessException - -
    • initializeAnalysisComponent

      protected void initializeAnalysisComponent() throws ResourceInitializationException
      A utility method that performs initialization logic for a primitive AnalysisEngine.
      Throws:
      ResourceInitializationException - if an initialization failure occurs
    • mergeDelegateAnalysisEngineMetaData

      protected void mergeDelegateAnalysisEngineMetaData() throws ResourceInitializationException
      For an aggregate TAF AE, sets this aggregate AE's Type System, Type Priorities, and FS Index Descriptions equal to the result of merging the information from its delegate AEs.
      Throws:
      ResourceInitializationException - if an error occurs
    • enableProhibitedAnnotatorCasFunctions

      protected void enableProhibitedAnnotatorCasFunctions(CAS aCAS, boolean aEnable)
      Lock/unlock CAS functions to which Annotators should not have access
      Parameters:
      aCAS - the CAS to be affected
      aEnable - false to lock out functions, true to re-enable them
    • callAnalysisComponentNext

      protected CAS callAnalysisComponentNext() throws AnalysisEngineProcessException, ResultNotSupportedException
      Calls the Analysis Component's next() method.
      Returns:
      CAS returned by the analysis component
      Throws:
      AnalysisEngineProcessException - -
      ResultNotSupportedException - -
    • createAnalysisProcessData

      @Deprecated protected AnalysisProcessData_impl createAnalysisProcessData()
      Deprecated.
    • _getAnnotator

      protected AnalysisComponent _getAnnotator()
      For a primitive AnalysisEngine only, gets the Annotator.
      Returns:
      the Annotator
    • _getAnnotatorContext

      protected AnnotatorContext_impl _getAnnotatorContext()
      For a primitive AnalysisEngine only, gets the AnnotatorContext.
      Returns:
      the AnnotatorContext
    • _getComponentCasProcessorSpecifierMap

      protected Map<String,ResourceSpecifier> _getComponentCasProcessorSpecifierMap()
      For an aggregate AnalysisEngine only, gets a Map from each component's key to the specifier for that component.
      Returns:
      a Map with String keys and ResourceSpecifier values