org.geotools.data.property
Class PropertyDataStoreFactory

Object
  extended by PropertyDataStoreFactory
All Implemented Interfaces:
DataAccessFactory, DataStoreFactorySpi, Factory

public class PropertyDataStoreFactory
extends Object
implements DataStoreFactorySpi

DataStore factory that creates PropertyDataStores

Author:
jgarnett
Module:

Nested Class Summary
 
Nested classes/interfaces inherited from interface DataAccessFactory
DataAccessFactory.Param
 
Field Summary
static DataAccessFactory.Param DIRECTORY
          DOCUMENT ME!
static DataAccessFactory.Param NAMESPACE
           
 
Constructor Summary
PropertyDataStoreFactory()
           
 
Method Summary
 boolean canProcess(Map params)
          DOCUMENT ME!
 DataStore createDataStore(Map params)
          DOCUMENT ME!
 DataStore createNewDataStore(Map params)
          DOCUMENT ME!
 String getDescription()
          DOCUMENT ME!
 String getDisplayName()
          DOCUMENT ME!
 Map getImplementationHints()
          Map of hints (maybe unmodifiable) used by this factory to customize its use.
 DataAccessFactory.Param[] getParametersInfo()
          DOCUMENT ME!
 boolean isAvailable()
          Test to see if this datastore is available, if it has all the appropriate libraries to construct a datastore.
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DIRECTORY

public static final DataAccessFactory.Param DIRECTORY
DOCUMENT ME!


NAMESPACE

public static final DataAccessFactory.Param NAMESPACE
Constructor Detail

PropertyDataStoreFactory

public PropertyDataStoreFactory()
Method Detail

createDataStore

public DataStore createDataStore(Map params)
                          throws IOException
DOCUMENT ME!

Specified by:
createDataStore in interface DataAccessFactory
Specified by:
createDataStore in interface DataStoreFactorySpi
Parameters:
params - DOCUMENT ME!
Returns:
DOCUMENT ME!
Throws:
IOException - DOCUMENT ME!

createNewDataStore

public DataStore createNewDataStore(Map params)
                             throws IOException
DOCUMENT ME!

Specified by:
createNewDataStore in interface DataStoreFactorySpi
Parameters:
params - DOCUMENT ME!
Returns:
DOCUMENT ME!
Throws:
IOException - DOCUMENT ME!

getDisplayName

public String getDisplayName()
DOCUMENT ME!

Specified by:
getDisplayName in interface DataAccessFactory
Returns:
DOCUMENT ME!

getDescription

public String getDescription()
DOCUMENT ME!

Specified by:
getDescription in interface DataAccessFactory
Returns:
DOCUMENT ME!

getParametersInfo

public DataAccessFactory.Param[] getParametersInfo()
DOCUMENT ME!

Specified by:
getParametersInfo in interface DataAccessFactory
Returns:
DOCUMENT ME!

isAvailable

public boolean isAvailable()
Test to see if this datastore is available, if it has all the appropriate libraries to construct a datastore. This datastore just returns true for now. This method is used for gui apps, so as to not advertise data store capabilities they don't actually have.

Specified by:
isAvailable in interface DataAccessFactory
Returns:
true if and only if this factory is available to create DataStores.
TODO:
REVISIT: I'm just adding this method to compile, maintainer should revisit to check for any libraries that may be necessary for datastore creations. ch.

canProcess

public boolean canProcess(Map params)
DOCUMENT ME!

Specified by:
canProcess in interface DataAccessFactory
Parameters:
params - DOCUMENT ME!
Returns:
DOCUMENT ME!

getImplementationHints

public Map getImplementationHints()
Description copied from interface: Factory
Map of hints (maybe unmodifiable) used by this factory to customize its use. This map is not guaranteed to contains all the hints supplied by the user; it may be only a subset. Consequently, hints provided here are usually not suitable for creating new factories, unless the implementation make some additional garantees (e.g. FactoryUsingVolatileDependencies).

The primary purpose of this method is to determine if an existing factory instance can be reused for a set of user-supplied hints. This method is invoked by FactoryRegistry in order to compare this factory's hints against user's hints. This is dependency introspection only; FactoryRegistry never invokes this method for creating new factories.

Keys are usually static constants from the Hints class, while values are instances of some key-dependent class. The key set must contains at least all hints impacting functionality. While the key set may contains all hints supplied by the user, it is recommended to limit the set to only the hints used by this particular factory instance. A minimal set will helps FactoryRegistry to compare only hints that matter and avoid the creation of unnecessary instances of this factory.

The hint values may be different than the one supplied by the user. If a user supplied a hint as a Class object, this method shall replace it by the actual instance used, if possible.

Implementations of this method are usually quite simple. For example if a datum authority factory uses an ordinary datum factory, its method could be implemented as below (note that we should not check if the datum factory is null, since key with null value is the expected behaviour in this case). Example:


 Map hints = new HashMap();
 hints.put(Hints.DATUM_FACTORY, datumFactory);
 return hints;
 

Specified by:
getImplementationHints in interface Factory
Returns:
The map of hints, or an empty map if none.


Copyright © 1996-2009 Geotools. All Rights Reserved.