Package org.apache.uima.analysis_engine.metadata

# Interface AnalysisEngineMetaData

All Superinterfaces:
  `Cloneable`, `MetaDataObject`, `ProcessingResourceMetaData`, `ResourceMetaData`, `Serializable`, `XMLizable`

All Known Implementing Classes:
  `AnalysisEngineMetaData_impl`, `ProcessingResourceMetaData_impl`

public interface AnalysisEngineMetaData extends ProcessingResourceMetaData
Encapsulates all of the metadata for an Analysis Engine. As with all `MetaDataObject`s, an `AnalysisEngineMetaData` may or may not be modifiable. An application can find out by calling the `MetaDataObject.isModifiable()` method.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `AnalysisEngineMetaData[]`
  `getDelegateAnalysisEngineMetaData()`
  For an aggregate AnalysisEngine only, gets the metadata of the delegate AnalysisEngines.
  `FlowConstraints`
  `getFlowConstraints()`
  For an aggregate AnalysisEngine only, gets the constraints on the execution sequence of the delegate AnalysisEngines within the aggregate.
  `boolean`
  `isAsynchronousModeSupported()`
  Determines if this AnalysisEngine supports asynchronous communication.
  `void`
  `setAsynchronousModeSupported(boolean aSupported)`
  Sets whether this AnalysisEngine supports asynchronous communication.
  `void`
  `setFlowConstraints(FlowConstraints aFlowConstraints)`
  For an aggregate AnalysisEngine only, sets the constraints on the execution sequence of the delegate AnalysisEngines within the aggregate.Flow constraints are optional.

  ### Methods inherited from interface org.apache.uima.resource.metadata.MetaDataObject

  `clone, equals, getAttributeValue, getSourceUrl, getSourceUrlString, isModifiable, listAttributes, setAttributeValue, setSourceUrl`

  ### Methods inherited from interface org.apache.uima.resource.metadata.ProcessingResourceMetaData

  `getCapabilities, getFsIndexCollection, getFsIndexes, getOperationalProperties, getTypePriorities, getTypeSystem, isSofaAware, resolveImports, resolveImports, setCapabilities, setFsIndexCollection, setFsIndexes, setOperationalProperties, setTypePriorities, setTypeSystem`

  ### Methods inherited from interface org.apache.uima.resource.metadata.ResourceMetaData

  `getConfigurationParameterDeclarations, getConfigurationParameterSettings, getCopyright, getDescription, getName, getUUID, getVendor, getVersion, setConfigurationParameterDeclarations, setConfigurationParameterSettings, setCopyright, setDescription, setName, setUUID, setVendor, setVersion, validateConfigurationParameterSettings`

  ### Methods inherited from interface org.apache.uima.util.XMLizable

  `buildFromXMLElement, buildFromXMLElement, toXML, toXML, toXML, toXML`

- ## Method Details

  - ### isAsynchronousModeSupported

    boolean isAsynchronousModeSupported()
    Determines if this AnalysisEngine supports asynchronous communication. Not yet implemented; reserved for future use.
    Returns:
      true if and only if this AnalysisEngine supports asynchronous communication

  - ### setAsynchronousModeSupported

    void setAsynchronousModeSupported(boolean aSupported)
    Sets whether this AnalysisEngine supports asynchronous communication. If this is set to true then the AnalysisEngine should implement the `AsynchronousAnalysisEngine` interface (not yet implemented).
    Parameters:
      `aSupported` - true if and only if this AnalysisEngine supports asynchronous communication
    Throws:
      `UIMA_UnsupportedOperationException` - if this `MetaDataObject` is not modifiable.

  - ### getFlowConstraints

    FlowConstraints getFlowConstraints()
    For an aggregate AnalysisEngine only, gets the constraints on the execution sequence of the delegate AnalysisEngines within the aggregate. Flow constraints are optional. If provided they may be used by the `FlowController`, the component which ultimately determines the flow.

    The returned `FlowConstraints` object refers to the delegate AnalysisEngines using String keys. These are the keys used to refer to the delegate AnalysisEngines in the `AnalysisEngineDescription.getDelegateAnalysisEngineSpecifiers()` map.

    Returns:
      the flow constraints for the AnalysisEngine, or `null` if no flow constraints are published by this AnalysisEngine.

  - ### setFlowConstraints

    void setFlowConstraints(FlowConstraints aFlowConstraints)
    For an aggregate AnalysisEngine only, sets the constraints on the execution sequence of the delegate AnalysisEngines within the aggregate.Flow constraints are optional. If provided they may be used by the `FlowController`, the component which ultimately determines the flow.

    The returned `FlowConstraints` object refers to the delgate AnalysisEngines using String keys. These are the keys used to refer to the delegate AnalysisEngines in the `AnalysisEngineDescription.getDelegateAnalysisEngineSpecifiers()` map.

    Parameters:
      `aFlowConstraints` - the flow constraints for the AnalysisEngine, or `null` if there are no flow constraints
    Throws:
      `UIMA_UnsupportedOperationException` - if this `MetaDataObject` is not modifiable.

  - ### getDelegateAnalysisEngineMetaData

    AnalysisEngineMetaData[] getDelegateAnalysisEngineMetaData()
    For an aggregate AnalysisEngine only, gets the metadata of the delegate AnalysisEngines.

    Publishing this information is optional; some implementations may always return null here.

    Returns:
      an array of delegate AnalysisEngine metadata, or `null` if that information is not available.