## gate
Class Factory

    java.lang.Object
      |
      +--gate.Factory

public abstract class Factory
extends Object

Provides static methods for the creation of Resources.

Field Summary
`private static HashMap` `accessControllerPool` An object to source events from.
`private static CreoleProxy` `creoleProxy` An object to source events from.
`private static boolean` `DEBUG` Debug flag
`private static DataStoreRegister` `dsReg` The DataStore register
`private static CreoleRegister` `reg` The CREOLE register

Constructor Summary
`Factory()`

Method Summary
`(package private) static void` `<clinit>()` Static initialiser to set up the CreoleProxy event source object
`static void` `addCreoleListener(CreoleListener l)` Add a listener
`static AccessController` `createAccessController(String jdbcURL)` Creates and opens a new AccessController (if not available in the pool).
`static DataStore` `createDataStore(String dataStoreClassName, String storageUrl)` Create a new DataStore and open it.
`static Resource` `createResource(String resourceClassName)` Create an instance of a resource using default parameter values.
`static Resource` `createResource(String resourceClassName, FeatureMap parameterValues)` Create an instance of a resource, and return it.
`static Resource` `createResource(String resourceClassName, FeatureMap parameterValues, FeatureMap features)` Create an instance of a resource, and return it.
`static Resource` `createResource(String resourceClassName, FeatureMap parameterValues, FeatureMap features, String resourceName)` Create an instance of a resource, and return it.
`static void` `deleteResource(Resource resource)` Delete an instance of a resource.
`protected static DataStore` `instantiateDataStore(String dataStoreClassName, String storageUrl)` Instantiate a DataStore (not open or created).
`static Corpus` `newCorpus(String name)` Create a new transient Corpus.
`static Document` `newDocument(String content)` Create a new transient textual Document from a string.
`static Document` `newDocument(URL sourceUrl)` Create a new transient Document from a URL.
`static Document` `newDocument(URL sourceUrl, String encoding)` Create a new transient Document from a URL and an encoding.
`static FeatureMap` `newFeatureMap()` Create a new FeatureMap.
`static DataStore` `openDataStore(String dataStoreClassName, String storageUrl)` Open an existing DataStore.

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

Field Detail

### DEBUG

    private static final boolean DEBUG

  Debug flag

### reg

    private static CreoleRegister reg

  The CREOLE register

### dsReg

    private static DataStoreRegister dsReg

  The DataStore register

### creoleProxy

    private static CreoleProxy creoleProxy

  An object to source events from.

### accessControllerPool

    private static HashMap accessControllerPool

  An object to source events from.

Constructor Detail

### Factory

    public Factory()

Method Detail

### createResource

    public static Resource createResource(String resourceClassName)
                                   throws ResourceInstantiationException

  Create an instance of a resource using default parameter values.
  See Also:
    `createResource(String,FeatureMap)`

### createResource

    public static Resource createResource(String resourceClassName,
                                          FeatureMap parameterValues)
                                   throws ResourceInstantiationException

  Create an instance of a resource, and return it. Callers of this method are responsible for querying the resource's parameter lists, putting together a set that is complete apart from runtime parameters, and passing a feature map containing these parameter settings.
  Parameters:
    `resourceClassName` - the name of the class implementing the resource.
    `parameterValues` - the feature map containing intialisation time parameterValues for the resource.
    `listeners` - The listeners to be registered with the resource during its initialisation. A `Map` that maps from fully qualified class name (as a string) to listener (of the type declared by the key).
  Returns:
    an instantiated resource.

### createResource

    public static Resource createResource(String resourceClassName,
                                          FeatureMap parameterValues,
                                          FeatureMap features)
                                   throws ResourceInstantiationException

  Create an instance of a resource, and return it. Callers of this method are responsible for querying the resource's parameter lists, putting together a set that is complete apart from runtime parameters, and passing a feature map containing these parameter settings.
  Parameters:
    `resourceClassName` - the name of the class implementing the resource.
    `parameterValues` - the feature map containing intialisation time parameterValues for the resource.
    `features` - the features for the new resource
  Returns:
    an instantiated resource.

### createResource

    public static Resource createResource(String resourceClassName,
                                          FeatureMap parameterValues,
                                          FeatureMap features,
                                          String resourceName)
                                   throws ResourceInstantiationException

  Create an instance of a resource, and return it. Callers of this method are responsible for querying the resource's parameter lists, putting together a set that is complete apart from runtime parameters, and passing a feature map containing these parameter settings. In the case of ProcessingResources they will have their runtime parameters initialised to their default values.
  Parameters:
    `resourceClassName` - the name of the class implementing the resource.
    `parameterValues` - the feature map containing intialisation time parameterValues for the resource.
    `listeners` - The listeners to be registered with the resource during its initialisation. A `Map` that maps freom fully qualified class name (as a string) to listener (of the type declared by the key).
    `features` - the features for the new resource
  Returns:
    an instantiated resource.

### deleteResource

    public static void deleteResource(Resource resource)

  Delete an instance of a resource. This involves removing it from the stack of instantiations maintained by this resource type's resource data. Deletion does not guarantee that the resource will become a candidate for garbage collection, just that the GATE framework is no longer holding references to the resource.
  Parameters:
    `resource` - the resource to be deleted.

### newCorpus

    public static Corpus newCorpus(String name)
                            throws ResourceInstantiationException

  Create a new transient Corpus.

### newDocument

    public static Document newDocument(URL sourceUrl)
                                throws ResourceInstantiationException

  Create a new transient Document from a URL.

### newDocument

    public static Document newDocument(URL sourceUrl,
                                       String encoding)
                                throws ResourceInstantiationException

  Create a new transient Document from a URL and an encoding.

### newDocument

    public static Document newDocument(String content)
                                throws ResourceInstantiationException

  Create a new transient textual Document from a string.

### newFeatureMap

    public static FeatureMap newFeatureMap()

  Create a new FeatureMap.

### openDataStore

    public static DataStore openDataStore(String dataStoreClassName,
                                          String storageUrl)
                                   throws PersistenceException

  Open an existing DataStore.

### createDataStore

    public static DataStore createDataStore(String dataStoreClassName,
                                            String storageUrl)
                                     throws PersistenceException,
                                            UnsupportedOperationException

  Create a new DataStore and open it. NOTE: for some data stores creation is an system administrator task; in such cases this method will throw an UnsupportedOperationException.

### instantiateDataStore

    protected static DataStore instantiateDataStore(String dataStoreClassName,
                                                    String storageUrl)
                                             throws PersistenceException

  Instantiate a DataStore (not open or created).

### addCreoleListener

    public static void addCreoleListener(CreoleListener l)

  Add a listener

### <clinit>

    static void <clinit>()

  Static initialiser to set up the CreoleProxy event source object

### createAccessController

    public static AccessController createAccessController(String jdbcURL)
                                                   throws PersistenceException

  Creates and opens a new AccessController (if not available in the pool).