Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.uima.resource
Interface ResourceManager

    public interface ResourceManager

A `ResourceManager` holds a collection of `Resource` objects, each registered under a specified key.

Method Summary
`CasManager` | `getCasManager()` Gets the CasManager, which manages the creation and pooling of CASes.
`String` | `getDataPath()` Gets the data path used to resolve relative paths.
`ClassLoader` | `getExtensionClassLoader()` Returns the UIMA extension class loader.
`Object` | `getResource(String aName)` Gets the Resource that has been registered under the specified name.
`Object` | `getResource(String aName, String[] aParams)` Gets an instance of a parameterized Resource.
`InputStream` | `getResourceAsStream(String aKey)` Retrieves an InputStream for reading from the named resource.
`InputStream` | `getResourceAsStream(String aKey, String[] aParams)` Retrieves an InputStream for reading from the named resource.
`Class` | `getResourceClass(String aName)` Gets the Class of the Resource that will be returned by a call to `getResource(String)` or `getResource(String,String[])`.
`URL` | `getResourceURL(String aKey)` Retrieves the URL to the named resource.
`URL` | `getResourceURL(String aKey, String[] aParams)` Retrieves the URL to the named resource.
`void` | `initializeExternalResources(ResourceManagerConfiguration aConfiguration, String aQualifiedContextName, Map aAdditionalParams)` Initializes all external resources declared in a ResourceCreationSpecifier.
`void` | `resolveAndValidateResourceDependencies(ExternalResourceDependency[] aDependencies, String aQualifiedContextName)` Resolves a component's external resource dependencies using this resource manager.
`URL` | `resolveRelativePath(String aRelativePath)` Attempts to resolve a relative path to an absolute path using the same mechanism that the ResourceManager uses to find resources -- a lookup in the datapath followed by a lookup in the classpath.
`void` | `setCasManager(CasManager aCasManager)` Sets the CasManager, which manages the creation and pooling of CASes.
`void` | `setDataPath(String aPath)` Sets the data path used to resolve relative paths.
`void` | `setExtensionClassPath(ClassLoader parent, String classpath, boolean resolveResource)` Sets the classpath for the UIMA extension ClassLoader and specifies if the extension ClassLoader should also be used to resolve resources.
`void` | `setExtensionClassPath(String classpath, boolean resolveResource)` Sets the classpath for the UIMA extension ClassLoader and specifies if the extension ClassLoader should also be used to resolve resources.

Method Detail

### getDataPath

    String getDataPath()

  Gets the data path used to resolve relative paths. More than one directory may be specified by separating them with the System `path.separator` character (; on windows, : on UNIX).

  Returns:
    the data path

### setDataPath

    void setDataPath(String aPath)
                     throws MalformedURLException

  Sets the data path used to resolve relative paths. More than one directory may be specified by separating them with the System `path.separator` character (; on windows, : on UNIX). The elements of this path may be URLs or File paths.

  Parameters:
    `aPath` - the data path
  Throws:
    `MalformedURLException` - if an element of the path is neither a valid URL or a valid file path

### resolveRelativePath

    URL resolveRelativePath(String aRelativePath)
                            throws MalformedURLException

  Attempts to resolve a relative path to an absolute path using the same mechanism that the ResourceManager uses to find resources -- a lookup in the datapath followed by a lookup in the classpath.

  Parameters:
    `aRelativePath` - a relative URL or file path
  Returns:
    the absolute URL of an actual file in the datapath or classpath, null if no file matching `aRelativePath` is found.
  Throws:
    `MalformedURLException`

### getResource

    Object getResource(String aName)
                       throws ResourceAccessException

  Gets the Resource that has been registered under the specified name.

  Parameters:
    `aName` - the name of the resource to retrieve
  Returns:
    the Resource registered under `aName`, `null` if none exists.
  Throws:
    `ResourceInitializationException` - if the requested resource could not be initialized. A common cause is that it requires parameters and the `getResource(String,String[])` method should have been called instead of this method.
    `ResourceAccessException`

### getResource

    Object getResource(String aName,
                       String[] aParams)
                       throws ResourceAccessException

  Gets an instance of a parameterized Resource. An example of a parameterized Resource is a dictionary whose data depends on a specified language identifier.

  Parameters:
    `aName` - the name of the resource to retrieve
    `aParams` - the parameters determining which particular instance is returned
  Returns:
    the requested Resource, `null` if there is no resource registered under the name `aName`.
  Throws:
    `ResourceInitializationException` - if there is a resource registered under `aName` but it could not be instantiated for the specified parameters.
    `ResourceAccessException`

### getResourceClass

    Class getResourceClass(String aName)

  Gets the Class of the Resource that will be returned by a call to `getResource(String)` or `getResource(String,String[])`.

  Parameters:
    `aName` - the name of a resource
  Returns:
    the Class for the resource named `aName`, `null` if there is no resource registered under that name.

### getResourceURL

    URL getResourceURL(String aKey)
                       throws ResourceAccessException

  Retrieves the URL to the named resource. This can be used, for example, to locate configuration or authority files.

  Parameters:
    `aKey` - the key by which the resource is identified. If this key was declared in the <externalResourceDependencies> section of the descriptor, then the resource manager is used to locate the resource. If not, the key is assumed to be the resource name and is looked up in the `data path` or in the class path using `ClassLoader.getResource(String)`.
  Returns:
    the `URL` at which the named resource is located, `null` if the named resource could not be found.
  Throws:
    `ResourceAccessException` - if a failure occurs in accessing the resource

### getResourceAsStream

    InputStream getResourceAsStream(String aKey)
                                    throws ResourceAccessException

  Retrieves an InputStream for reading from the named resource. This can be used, for example, to read configuration or authority files.

  Parameters:
    `aKey` - the key by which the resource is identified. If this key was declared in the <externalResourceDependencies> section of the annotator's descriptor, then the resource manager is used to locate the resource. If not, the key is assumed to be the resource name and is looked up in the `data path` or in the class path using `ClassLoader.getResource(String)`.
  Returns:
    an `InputStream` for reading from the named resource, `null` if the named resource could not be found. It is the caller's responsibility to close this stream once it is no longer needed.
  Throws:
    `ResourceAccessException` - if a failure occurs in accessing the resource

### getResourceURL

    URL getResourceURL(String aKey,
                       String[] aParams)
                       throws ResourceAccessException

  Retrieves the URL to the named resource. This can be used, for example, to locate configuration or authority files. This version of this method takes an array of parameters used to further identify the resource. This can be used, for example, with resources that vary depending on the language of the document being analyzed.

  Parameters:
    `aKey` - the key by which the resource is identified. If this key was declared in the <externalResourceDependencies> section of the annotator's descriptor, then the resource manager is used to locate the resource. If not, the key is assumed to be the resource name and is looked up in the `data path` or in the class path using `ClassLoader.getResource(String)`.
    `aParams` - parameters used to further identify the resource
  Returns:
    the `URL` at which the named resource is located, `null` if the named resource could not be found.
  Throws:
    `ResourceAccessException` - if a failure occurs in accessing the resource

### getResourceAsStream

    InputStream getResourceAsStream(String aKey,
                                    String[] aParams)
                                    throws ResourceAccessException

  Retrieves an InputStream for reading from the named resource. This can be used, for example, to read configuration or authority files. This version of this method takes an array of parameters used to further identify the resource. This can be used, for example, with resources that vary depending on the language of the document being analyzed.

  Parameters:
    `aKey` - the key by which the resource is identified. If this key was declared in the <externalResourceDependencies> section of the annotator's descriptor, then the resource manager is used to locate the resource. If not, the key is assumed to be the resource name and is looked up in the `data path` or in the class path using `ClassLoader.getResource(String)`.
    `aParams` - parameters used to further identify the resource
  Returns:
    an `InputStream` for reading from the named resource, `null` if the named resource could not be found. It is the caller's responsibility to close this stream once it is no longer needed.
  Throws:
    `ResourceAccessException` - if a failure occurs in accessing the resource

### initializeExternalResources

    void initializeExternalResources(ResourceManagerConfiguration aConfiguration,
                                     String aQualifiedContextName,
                                     Map aAdditionalParams)
                                     throws ResourceInitializationException

  Initializes all external resources declared in a ResourceCreationSpecifier.

  Parameters:
    `aConfiguration` - the ResourceManagerConfiguration containing resource declarations and bindings
    `aQualifiedContextName` - qualified name of UimaContext for the component (e.g. analysis engine) that is declaring these external resources
    `aAdditionalParams` - additional parameters to be passed to resource initialize methods
  Throws:
    `ResourceInitializationException` - if an initialization failure occurs

### resolveAndValidateResourceDependencies

    void resolveAndValidateResourceDependencies(ExternalResourceDependency[] aDependencies,
                                                String aQualifiedContextName)
                                                throws ResourceInitializationException

  Resolves a component's external resource dependencies using this resource manager. Throws an exception if any required dependencies are not satisfied.

  Parameters:
    `aDependencies` - declarations of a component's dependencies on external resources
    `aQualifiedContextName` - qualified name of UimaContext for the component (e.g. analysis engine) that is declaring these dependencies
  Throws:
    `ResourceInitializationException` - if a required dependency is not satisfied

### setExtensionClassPath

    void setExtensionClassPath(String classpath,
                               boolean resolveResource)
                               throws MalformedURLException

  Sets the classpath for the UIMA extension ClassLoader and specifies if the extension ClassLoader should also be used to resolve resources.

  Parameters:
    `classpath` - extension ClassLoader classpath
    `resolveResource` - if true ClassLoad resolves resources
  Throws:
    `MalformedURLException` - if a malformed URL has occurred in the classpath string.

### setExtensionClassPath

    void setExtensionClassPath(ClassLoader parent,
                               String classpath,
                               boolean resolveResource)
                               throws MalformedURLException

  Sets the classpath for the UIMA extension ClassLoader and specifies if the extension ClassLoader should also be used to resolve resources. Also allows a parent ClassLoader to be specified.

  Parameters:
    `parent` - parent ClassLoader for the extension ClassLoader
    `classpath` - extension ClassLoader classpath
    `resolveResource` - if true ClassLoad resolves resources
  Throws:
    `MalformedURLException` - if a malformed URL has occurred in the classpath string.

### getExtensionClassLoader

    ClassLoader getExtensionClassLoader()

  Returns the UIMA extension class loader.

  Returns:
    ClassLoader - returns the UIMA extension class loader of null if it is not available.

### getCasManager

    CasManager getCasManager()

  Gets the CasManager, which manages the creation and pooling of CASes.

### setCasManager

    void setCasManager(CasManager aCasManager)

  Sets the CasManager, which manages the creation and pooling of CASes. This method does not normally need to be called by an application. It allows a custom CAS Manager implementation to be substituted for the default one, which may be useful when embedding UIMA in other middleware where a different CAS Manager implementation may be desired.

  This method can only be called once, and must be called before creating any AnalysisEngines that use this ResourceManager. An Exception will be thrown if this method is called twice or is called after `getCasManager()` has already been called (which happens during AE initialization).

  Parameters:
    `aCasManager` - CAS Manager instance to plug in

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2008 The Apache Software Foundation. All Rights Reserved.