Package org.apache.uima.resource

# Interface ExternalResourceDescription

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

All Known Implementing Classes:
  `ExternalResourceDescription_impl`

public interface ExternalResourceDescription extends MetaDataObject
An `ExternalResourceDescription` object describes a resource that is loaded in the `ResourceManager` and may be shared between components. This object has four properties:

- A name, used to identify the resource.
- A textual description of the resource.
- A `ResourceSpecifier` that describes how to create the resource (for simple data resources this will be a `FileResourceSpecifier` that contains a URL to the data file.
- The name of a Java class that implements the specified interface and which also implements `SharedResourceObject`.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final ExternalResourceDescription[]`
  `EMPTY_EXTERNAL_RESORUCE_DESCRIPTIONS`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getDescription()`
  Retrieves the textual description of the resource.
  `String`
  `getImplementationName()`
  Retrieves the name of the Java class to be instantiated from the resource data.
  `String`
  `getName()`
  Retrieves the name by which the resource is identified.
  `ResourceSpecifier`
  `getResourceSpecifier()`
  Retrieves the `ResourceSpecifier` that describes how to create the resource.
  `void`
  `setDescription(String aDescription)`
  Retrieves the textual description of the resource.
  `void`
  `setImplementationName(String aName)`
  Sets the name of the Java class to be instantiated from the resource data.
  `void`
  `setName(String aName)`
  Sets the name by which the resource is identified.
  `void`
  `setResourceSpecifier(ResourceSpecifier aSpecifier)`
  Sets the `ResourceSpecifier` that describes how to create the resource.

  ### 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`

- ## Field Details

  - ### EMPTY_EXTERNAL_RESORUCE_DESCRIPTIONS

    static final ExternalResourceDescription[] EMPTY_EXTERNAL_RESORUCE_DESCRIPTIONS

- ## Method Details

  - ### getName

    String getName()
    Retrieves the name by which the resource is identified.
    Returns:
      the name of this resource.

  - ### setName

    void setName(String aName)
    Sets the name by which the resource is identified.
    Parameters:
      `aName` - the name of 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.

  - ### getResourceSpecifier

    ResourceSpecifier getResourceSpecifier()
    Retrieves the `ResourceSpecifier` that describes how to create the resource.
    Returns:
      the `ResourceSpecifier` for this external resource

  - ### setResourceSpecifier

    void setResourceSpecifier(ResourceSpecifier aSpecifier)
    Sets the `ResourceSpecifier` that describes how to create the resource.
    Parameters:
      `aSpecifier` - the `ResourceSpecifier` for this external resource
    Throws:
      `UIMA_UnsupportedOperationException` - if this object is not modifiable

  - ### getImplementationName

    String getImplementationName()
    Retrieves the name of the Java class to be instantiated from the resource data. This must extend `SharedResourceObject` as well as the interface specified by `ExternalResourceDependency.getInterfaceName()`.
    Returns:
      the name of the Java class implementing the resource access

  - ### setImplementationName

    void setImplementationName(String aName)
    Sets the name of the Java class to be instantiated from the resource data. This must extend `SharedResourceObject` as well as the interface specified by `ExternalResourceDependency.getInterfaceName()`.
    Parameters:
      `aName` - the name of the Java class implementing the resource access
    Throws:
      `UIMA_UnsupportedOperationException` - if this object is not modifiable