Package org.apache.uima.resource

# Interface ExternalResourceDependency

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

All Known Implementing Classes:
  `ExternalResourceDependency_impl`

public interface ExternalResourceDependency extends MetaDataObject
An `ExternalResourceDependency` object describes an resources's requirements on an external resource. This object has four properties:

- A key, by which the annotator will identify the resource.
- A textual description of the resource dependency.
- The name of a Java interface through which the data will be accessed. This is optional; if not specified, the default `DataResource` interface will be used.
- Whether the resource is required or optional.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getDescription()`
  Retrieves the textual description of the resource.
  `String`
  `getInterfaceName()`
  Retrieves the name of the Java interface through which this resource will be accessed.
  `String`
  `getKey()`
  Retrieves the key by which the resource is identified.
  `boolean`
  `isOptional()`
  Gets whether this resource dependency is optional.
  `void`
  `setDescription(String aDescription)`
  Retrieves the textual description of the resource.
  `void`
  `setInterfaceName(String aName)`
  Sets the name of the Java interface through which this resource will be accessed.
  `void`
  `setKey(String aKey)`
  Sets the key by which the resource is identified.
  `void`
  `setOptional(boolean aOptional)`
  Sets whether this resource dependency is 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.util.XMLizable

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

- ## Method Details

  - ### getKey

    String getKey()
    Retrieves the key by which the resource is identified.
    Returns:
      the key for this resource.

  - ### setKey

    void setKey(String aKey)
    Sets the key by which the resource is identified.
    Parameters:
      `aKey` - the key for this resource.

  - ### getDescription

    String getDescription()
    Retrieves the textual description of the resource.
    Returns:
      the textual description of the resource.

  - ### setDescription

    void setDescription(String aDescription)
    Retrieves the textual description of the resource.
    Parameters:
      `aDescription` - the textual description of the resource.

  - ### getInterfaceName

    String getInterfaceName()
    Retrieves the name of the Java interface through which this resource will be accessed.
    Returns:
      the name of the Java interface for this external resource, `null` if none.

  - ### setInterfaceName

    void setInterfaceName(String aName)
    Sets the name of the Java interface through which this resource will be accessed.
    Parameters:
      `aName` - the name of the Java interface for this external resource, `null` if none.
    Throws:
      `UIMA_UnsupportedOperationException` - if this object is not modifiable

  - ### isOptional

    boolean isOptional()
    Gets whether this resource dependency is optional. Dependencies that are not optional must be linked to resource definitions prior to instantiating the Analysis Engine, or an exception will be thrown.
    Returns:
      true if this resource dependency is optional, false if not

  - ### setOptional

    void setOptional(boolean aOptional)
    Sets whether this resource dependency is optional. Dependencies that are not optional must be linked to resource definitions prior to instantiating the Analysis Engine, or an exception will be thrown.
    Parameters:
      `aOptional` - true if this resource dependency is optional, false if not