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.util
Class SimpleResourceFactory

    java.lang.Object
      org.apache.uima.util.SimpleResourceFactory

All Implemented Interfaces:
  ResourceFactory

    public class SimpleResourceFactory

extends Object
implements ResourceFactory

A simple implementation of a `ResourceFactory`. This implementation maintains a Map between the `ResourceSpecifier` sub-interface name (e.g. `AnalysisEngineDescription`) and the class name of the resource to be constructed from specifiers of that type.

UIMA developers who introduce new types of `Resource`s or `ResourceSpecifier`s may create an instance of this class and use the `addMapping(Class,Class)` method to register a mapping between the ResourceSpecifier interface and the Class of the Resource that is to be constructed from it. The `SimpleResourceFactory` should then be registered with the framework by calling ``UIMAFramework.getResourceFactory()`.`registerFactory(Class,ResourceFactory)`;`

Field Summary
`protected Map` | `mClassMap` Map from ResourceSpecifier Class to List of Resource Classes.

Constructor Summary
`SimpleResourceFactory()`

Method Summary
`void` | `addMapping(Class aSpecifierInterface, Class aResourceClass)` Configures this `SimpleResourceFactory` by adding a new mapping between a `ResourceSpecifier` class and a `Resource` class.
`void` | `addMapping(String aSpecifierInterfaceName, String aResourceClassName)` Configures this `SimpleResourceFactory` by adding a new mapping between a `ResourceSpecifier` class and a `Resource` class.
`Resource` | `produceResource(Class aResourceClass, ResourceSpecifier aSpecifier, Map aAdditionalParams)` Produces an appropriate `Resource` instance from a `ResourceSpecifier`.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### mClassMap

    protected Map mClassMap

  Map from ResourceSpecifier Class to List of Resource Classes. Resource initialization is attempted in reverse order through this List, so more recently registered classes are tried first.

Constructor Detail

### SimpleResourceFactory

    public SimpleResourceFactory()

Method Detail

### produceResource

    public Resource produceResource(Class aResourceClass,
                                    ResourceSpecifier aSpecifier,
                                    Map aAdditionalParams)
                             throws ResourceInitializationException

  Produces an appropriate `Resource` instance from a `ResourceSpecifier`.

  Specified by:
    `produceResource` in interface `ResourceFactory`
  Parameters:
    `aResourceClass` - the interface of the resource to be produced. This is intended to be a standard UIMA interface such as `TextAnalysisEngine` or `ASB`.
    `aSpecifier` - an object that specifies how to acquire an instance of a `Resource`.
    `aAdditionalParams` - a Map containing additional parameters to pass to the `Resource.initialize(ResourceSpecifier,Map)` method. May be `null` if there are no parameters.
  Returns:
    a `Resource` instance. Returns `null` if this factory does not know how to create a Resource from the `ResourceSpecifier` provided.
  Throws:
    `ResourceInitializationException` - if a failure occurred during production of the resource
  See Also:
    `ResourceFactory.produceResource(Class, ResourceSpecifier,Map)`

### addMapping

    public void addMapping(Class aSpecifierInterface,
                           Class aResourceClass)

  Configures this `SimpleResourceFactory` by adding a new mapping between a `ResourceSpecifier` class and a `Resource` class.

  Parameters:
    `aSpecifierInterface` - the subinterface of `ResourceSpecifier`.
    `aResourceClass` - a subclass of `Resource` that is to be instantiated from resource specifiers of the given class.

### addMapping

    public void addMapping(String aSpecifierInterfaceName,
                           String aResourceClassName)
                    throws ClassNotFoundException

  Configures this `SimpleResourceFactory` by adding a new mapping between a `ResourceSpecifier` class and a `Resource` class.

  Parameters:
    `aSpecifierInterfaceName` - name of the subinterface of `ResourceSpecifier`.
    `aResourceClassName` - the name of a subclass of `Resource` that is to be instantiated from resource specifiers of the given class.
  Throws:
    `ClassNotFoundException`

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.