Package org.apache.uima.resource

# Interface ResourceCreationSpecifier

All Superinterfaces:
  `Cloneable`, `MetaDataObject`, `ResourceSpecifier`, `Serializable`, `XMLizable`

All Known Subinterfaces:
  `AnalysisEngineDescription`, `CasConsumerDescription`, `CasInitializerDescription`, `CollectionReaderDescription`, `FlowControllerDescription`, `TaeDescription`

All Known Implementing Classes:
  `AnalysisEngineDescription_impl`, `CasConsumerDescription_impl`, `CasInitializerDescription_impl`, `CollectionReaderDescription_impl`, `FlowControllerDescription_impl`, `ResourceCreationSpecifier_impl`, `TaeDescription_impl`

public interface ResourceCreationSpecifier extends ResourceSpecifier
A `ResourceCreationSpecifier` is the supertype of `AnalysisEngineDescription`, `CasConsumerDescription`, `CollectionReaderDescription`, and `CasInitializerDescription`.

All Resource Creation Specifiers must the following:

- `frameworkImplementation`: The name of the UIMA framework in which the component executes. The name for this implementation is given by `Constants.JAVA_FRAMEWORK_NAME`. A component that runs in the C++ enablement layer needs to have the framework name given by `Constants.CPP_FRAMEWORK_NAME`.
- `implementationName`: The fully-qualified Java class name of the user's component (Annotator, CAS Consumer, Collection Reader, or CAS Initializer).
- `metaData`: the `ResourceMetaData` describing the resource

The following are optional:

- A set of `ExternalResourceDependency` objects that define this resource's dependencies on other resources.
- A set of `ExternalResourceDescription` objects that satisfy the dependencies.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `doFullValidation()`
  Does full validation of this `ResourceCreationSpecifier`.
  `void`
  `doFullValidation(ResourceManager aResourceManager)`
  Does full validation of this `ResourceCreationSpecifier`.
  `ExternalResourceDependency[]`
  `getExternalResourceDependencies()`
  Retrieves descriptions of this `ResourceCreationSpecifier`'s dependencies on external resources.
  `ExternalResourceDependency`
  `getExternalResourceDependency(String aKey)`
  Gets the external resource dependency with the given key.
  `String`
  `getFrameworkImplementation()`
  Gets the name of the AE framework implementation within which the Resource executes.
  `String`
  `getImplementationName()`
  Retrieves the name of this `ResourceCreationSpecifier`'s implementation.
  `ResourceMetaData`
  `getMetaData()`
  Retrieves the `ResourceMetaData` to assign to the newly constructed `ResourceCreationSpecifier`.
  `ResourceManagerConfiguration`
  `getResourceManagerConfiguration()`
  Retrieves the Resource Manager configuration, which declares the resources that satisfy the dependencies defined by `getExternalResourceDependencies()`.
  `void`
  `setExternalResourceDependencies(ExternalResourceDependency[] aDependencies)`
  Sets the descriptions of this `ResourceCreationSpecifier`'s dependencies on external resources.
  `void`
  `setFrameworkImplementation(String aFrameworkImplementation)`
  Sets the name of the AE framework implementation within which the `ResourceCreationSpecifier` executes.
  `void`
  `setImplementationName(String aImplementationName)`
  Sets the name of this `ResourceCreationSpecifier`'s implementation.
  `void`
  `setMetaData(ResourceMetaData aMetaData)`
  Sets the MetaData for this `ResourceCreationSpecifier`.
  `void`
  `setResourceManagerConfiguration(ResourceManagerConfiguration aResourceManagerConfiguration)`
  Sets the Resource Manager configuration, which declares the resources that satisfy the dependencies defined by `getExternalResourceDependencies()`.
  `void`
  `validate()`
  Checks that this `ResourceCreationSpecifier` is valid.
  `void`
  `validate(ResourceManager aResourceManager)`
  Checks that this `ResourceCreationSpecifier` is valid.

  ### 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.util.XMLizable

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

- ## Method Details

  - ### getFrameworkImplementation

    String getFrameworkImplementation()
    Gets the name of the AE framework implementation within which the Resource executes. The framework name for this implementation is given by `Constants.JAVA_FRAMEWORK_NAME`..
    Returns:
      the framework implementation name

  - ### setFrameworkImplementation

    void setFrameworkImplementation(String aFrameworkImplementation)
    Sets the name of the AE framework implementation within which the `ResourceCreationSpecifier` executes. The framework name for this implementation is given by `Constants.JAVA_FRAMEWORK_NAME`..
    Parameters:
      `aFrameworkImplementation` - the framework implementation name

  - ### getImplementationName

    String getImplementationName()
    Retrieves the name of this `ResourceCreationSpecifier`'s implementation. This must be a fully qualified Java class name.
    Returns:
      the implementation name of the CasConsumer

  - ### setImplementationName

    void setImplementationName(String aImplementationName)
    Sets the name of this `ResourceCreationSpecifier`'s implementation. This must be a fully qualified Java class name.
    Parameters:
      `aImplementationName` - the implementation name of the CasConsumer

  - ### getMetaData

    ResourceMetaData getMetaData()
    Retrieves the `ResourceMetaData` to assign to the newly constructed `ResourceCreationSpecifier`.
    Returns:
      the metadata for the new resource. This will always be modifiable.

  - ### setMetaData

    void setMetaData(ResourceMetaData aMetaData)
    Sets the MetaData for this `ResourceCreationSpecifier`.
    Parameters:
      `aMetaData` - metadata to assign

  - ### getExternalResourceDependencies

    ExternalResourceDependency[] getExternalResourceDependencies()
    Retrieves descriptions of this `ResourceCreationSpecifier`'s dependencies on external resources. Each required external resource is assigned a String identifier. This is the identifier that this `ResourceCreationSpecifier` can use to locate the Resource (using the `AnnotatorContext.getResourceObject(String)` method).
    Returns:
      an array of `ExternalResourceDependency` objects that describe this AnalysisEngine's resource dependencies.

  - ### setExternalResourceDependencies

    void setExternalResourceDependencies(ExternalResourceDependency[] aDependencies)
    Sets the descriptions of this `ResourceCreationSpecifier`'s dependencies on external resources.
    Parameters:
      `aDependencies` - an array of `ExternalResourceDependency` objects that describe this `ResourceCreationSpecifier`'s resource dependencies.

  - ### getExternalResourceDependency

    ExternalResourceDependency getExternalResourceDependency(String aKey)
    Gets the external resource dependency with the given key.
    Parameters:
      `aKey` - the key of the external resource dependency to get
    Returns:
      the resource dependency with the specified key, `null` if none.

  - ### getResourceManagerConfiguration

    ResourceManagerConfiguration getResourceManagerConfiguration()
    Retrieves the Resource Manager configuration, which declares the resources that satisfy the dependencies defined by `getExternalResourceDependencies()`.
    Returns:
      the Resource Manager configuration that describes how external resource dependencies are bound to actual resources.

  - ### setResourceManagerConfiguration

    void setResourceManagerConfiguration(ResourceManagerConfiguration aResourceManagerConfiguration)
    Sets the Resource Manager configuration, which declares the resources that satisfy the dependencies defined by `getExternalResourceDependencies()`.
    Parameters:
      `aResourceManagerConfiguration` - the Resource Manager configuration that describes how external resource dependencies are bound to actual resources.

  - ### validate

    void validate() throws ResourceInitializationException, ResourceConfigurationException
    Checks that this `ResourceCreationSpecifier` is valid. An exception is thrown if it is not valid. This only does fairly lightweight checking. To do a more complete but more expensive check, use `doFullValidation()`.
    Throws:
      `ResourceInitializationException` - if `aDesc` is invalid
      `ResourceConfigurationException` - if the configuration parameter settings in `aDesc` are invalid

  - ### validate

    void validate(ResourceManager aResourceManager) throws ResourceInitializationException, ResourceConfigurationException
    Checks that this `ResourceCreationSpecifier` is valid. An exception is thrown if it is not valid. This only does fairly lightweight checking. To do a more complete but more expensive check, use `doFullValidation()`.
    Parameters:
      `aResourceManager` - a ResourceManager instance to use to resolve imports by name.
    Throws:
      `ResourceInitializationException` - if `aDesc` is invalid
      `ResourceConfigurationException` - if the configuration parameter settings in `aDesc` are invalid

  - ### doFullValidation

    void doFullValidation() throws ResourceInitializationException
    Does full validation of this `ResourceCreationSpecifier`. This essentially performs all operations necessary to instantiate a Resource except that it does not actually instantiate the implementation class. If appropriate, this method will also attempt to create a CAS based on the descriptor, in order to do full type system verification. If any operations fail, an exception will be thrown.
    Throws:
      `ResourceInitializationException` - if validation failed

  - ### doFullValidation

    void doFullValidation(ResourceManager aResourceManager) throws ResourceInitializationException
    Does full validation of this `ResourceCreationSpecifier`. This essentially performs all operations necessary to instantiate a Resource except that it does not actually instantiate the implementation class. If appropriate, this method will also attempt to create a CAS based on the descriptor, in order to do full type system verification. If any operations fail, an exception will be thrown.
    Parameters:
      `aResourceManager` - a ResourceManager instance to use to load annotator classes, external resource classes, and resolve imports by name.
    Throws:
      `ResourceInitializationException` - if validation failed