org.geotools.data
Class DataStoreFinder

Object
  extended by DataStoreFinder

public final class DataStoreFinder
extends Object

Enable programs to find all available datastore implementations.

In order to be located by this finder datasources must provide an implementation of the DataStoreFactorySpi interface.

In addition to implementing this interface datasouces should have a services file:
META-INF/services/org.geotools.data.DataStoreFactorySpi

The file should contain a single line which gives the full name of the implementing class.

Example:
org.geotools.data.mytype.MyTypeDataStoreFacotry

Module:

Field Summary
protected static Logger LOGGER
          The logger for the filter module.
 
Method Summary
static Iterator<DataStoreFactorySpi> getAllDataStores()
          Finds all implemtaions of DataStoreFactory which have registered using the services mechanism, regardless weather it has the appropriate libraries on the classpath.
static Iterator<DataStoreFactorySpi> getAvailableDataStores()
          Finds all implemtaions of DataStoreFactory which have registered using the services mechanism, and that have the appropriate libraries on the classpath.
static DataStore getDataStore(Map params)
          Checks each available datasource implementation in turn and returns the first one which claims to support the resource identified by the params object.
static void scanForPlugins()
          Scans for factory plug-ins on the application class path.
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOGGER

protected static final Logger LOGGER
The logger for the filter module.

Method Detail

getDataStore

public static DataStore getDataStore(Map params)
                              throws IOException
Checks each available datasource implementation in turn and returns the first one which claims to support the resource identified by the params object.

Parameters:
params - A Map object which contains a defenition of the resource to connect to. for file based resources the property 'url' should be set within this Map.
Returns:
The first datasource which claims to process the required resource, returns null if none can be found.
Throws:
IOException - If a suitable loader can be found, but it can not be attached to the specified resource without errors.

getAllDataStores

public static Iterator<DataStoreFactorySpi> getAllDataStores()
Finds all implemtaions of DataStoreFactory which have registered using the services mechanism, regardless weather it has the appropriate libraries on the classpath.

Returns:
An iterator over all discovered datastores which have registered factories

getAvailableDataStores

public static Iterator<DataStoreFactorySpi> getAvailableDataStores()
Finds all implemtaions of DataStoreFactory which have registered using the services mechanism, and that have the appropriate libraries on the classpath.

Returns:
An iterator over all discovered datastores which have registered factories, and whose available method returns true.

scanForPlugins

public static void scanForPlugins()
Scans for factory plug-ins on the application class path. This method is needed because the application class path can theoretically change, or additional plug-ins may become available. Rather than re-scanning the classpath on every invocation of the API, the class path is scanned automatically only on the first invocation. Clients can call this method to prompt a re-scan. Thus this method need only be invoked by sophisticated applications which dynamically make new plug-ins available at runtime.



Copyright © 1996-2009 Geotools. All Rights Reserved.