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:
modules/plugin/property (gt-property.jar)

Nested Class Summary
 
Nested classes/interfaces inherited from interface DataAccessFactory
DataAccessFactory.Param
 
Field Summary
static DataAccessFactory.Param DIRECTORY
           
static DataAccessFactory.Param NAMESPACE
           
 
Constructor Summary
PropertyDataStoreFactory()
           
 
Method Summary
 boolean canProcess(Map params)
          Works for a file directory or property file
 DataStore createDataStore(Map params)
          Construct a live DataAccess using the connection parameters provided.
 DataStore createNewDataStore(Map params)
           
 String getDescription()
          Describe the nature of the datasource constructed by this factory.
 String getDisplayName()
          Name suitable for display to end user.
 Map getImplementationHints()
          No implementation hints are provided at this time.
 DataAccessFactory.Param[] getParametersInfo()
          MetaData about the required Parameters (for createDataStore).
 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

NAMESPACE

public static final DataAccessFactory.Param NAMESPACE
Constructor Detail

PropertyDataStoreFactory

public PropertyDataStoreFactory()
Method Detail

createDataStore

public DataStore createDataStore(Map params)
                          throws IOException
Description copied from interface: DataAccessFactory
Construct a live DataAccess using the connection parameters provided.

You can think of this class as setting up a connection to the back end data source. The required parameters are described by the getParameterInfo() method.

Magic Params: the following params are magic and are honoured by convention by the GeoServer and uDig application.

When we eventually move over to the use of OpperationalParam we will have to find someway to codify this convention.

Specified by:
createDataStore in interface DataAccessFactory
Specified by:
createDataStore in interface DataStoreFactorySpi
Parameters:
params - The full set of information needed to construct a live data store. Typical key values for the map include: url - location of a resource, used by file reading datasources. dbtype - the type of the database to connect to, e.g. postgis, mysql
Returns:
The created DataStore, this may be null if the required resource was not found or if insufficent parameters were given. Note that canProcess() should have returned false if the problem is to do with insuficent parameters.
Throws:
IOException - if there were any problems setting up (creating or connecting) the datasource.

createNewDataStore

public DataStore createNewDataStore(Map params)
                             throws IOException
Specified by:
createNewDataStore in interface DataStoreFactorySpi
Throws:
IOException

getDisplayName

public String getDisplayName()
Description copied from interface: DataAccessFactory
Name suitable for display to end user.

A non localized display name for this data store type.

Specified by:
getDisplayName in interface DataAccessFactory
Returns:
A short name suitable for display in a user interface.

getDescription

public String getDescription()
Description copied from interface: DataAccessFactory
Describe the nature of the datasource constructed by this factory.

A non localized description of this data store type.

Specified by:
getDescription in interface DataAccessFactory
Returns:
A human readable description that is suitable for inclusion in a list of available datasources.

getParametersInfo

public DataAccessFactory.Param[] getParametersInfo()
Description copied from interface: DataAccessFactory
MetaData about the required Parameters (for createDataStore).

Interpretation of FeatureDescriptor values:

This should be the same as:


 Object params = factory.getParameters();
 BeanInfo info = getBeanInfo( params );

 return info.getPropertyDescriptors();
 

Specified by:
getParametersInfo in interface DataAccessFactory
Returns:
Param array describing the Map for createDataStore
See Also:
DIRECTORY, NAMESPACE

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:
true property datastore is always available

canProcess

public boolean canProcess(Map params)
Works for a file directory or property file

Specified by:
canProcess in interface DataAccessFactory
Parameters:
params - Connection parameters
Returns:
true for connection parameters indicating a directory or property file

getImplementationHints

public Map getImplementationHints()
No implementation hints are provided at this time.

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


Copyright © 1996-2010 Geotools. All Rights Reserved.