org.geotools.data.postgis
Class PostgisDataStoreFactory

java.lang.Object
  extended byorg.geotools.data.AbstractDataStoreFactory
      extended byorg.geotools.data.postgis.PostgisDataStoreFactory
All Implemented Interfaces:
DataStoreFactorySpi, Factory

public class PostgisDataStoreFactory
extends AbstractDataStoreFactory
implements DataStoreFactorySpi

Creates a PostgisDataStore baed on the correct params.

This factory should be registered in the META-INF/ folder, under services/ in the DataStoreFactorySpi file.

Author:
Jody Garnett, Refractions Research

Nested Class Summary
 
Nested classes inherited from class org.geotools.data.DataStoreFactorySpi
DataStoreFactorySpi.Param
 
Constructor Summary
PostgisDataStoreFactory()
          Creates a new instance of PostgisDataStoreFactory
 
Method Summary
 boolean canProcess(java.util.Map params)
          Checks to see if all the postgis params are there.
 DataStore createDataStore(java.util.Map params)
          Construct a postgis data store using the params.
protected  PostgisDataStore createDataStoreInternal(ConnectionPool pool)
          Deprecated. this method is only here for backwards compatibility for subclasses, use createDataStoreInternal(ConnectionPool, String, String) instead.
protected  PostgisDataStore createDataStoreInternal(ConnectionPool pool, java.lang.String namespace)
          Deprecated. this method is only here for backwards compatibility for subclasses, use createDataStoreInternal(ConnectionPool, String, String) instead.
protected  PostgisDataStore createDataStoreInternal(ConnectionPool pool, java.lang.String namespace, java.lang.String schema)
           
 DataStore createNewDataStore(java.util.Map params)
          Postgis cannot create a new database.
 java.lang.String getDescription()
          Describe the nature of the datasource constructed by this factory.
 java.lang.String getDisplayName()
          Name suitable for display to end user.
 DataStoreFactorySpi.Param[] getParametersInfo()
          Describe parameters.
 boolean isAvailable()
          Determines if the appropriate libraries are present for this datastore factory to successfully produce postgis datastores.
 
Methods inherited from class org.geotools.data.AbstractDataStoreFactory
getImplementationHints, getParameters
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.geotools.factory.Factory
getImplementationHints
 

Constructor Detail

PostgisDataStoreFactory

public PostgisDataStoreFactory()
Creates a new instance of PostgisDataStoreFactory

Method Detail

canProcess

public boolean canProcess(java.util.Map params)
Checks to see if all the postgis params are there.

Should have:

Specified by:
canProcess in interface DataStoreFactorySpi
Overrides:
canProcess in class AbstractDataStoreFactory
Parameters:
params - Set of parameters needed for a postgis data store.
Returns:
true if dbtype equals postgis, and contains keys for host, user, passwd, and database.

createDataStore

public DataStore createDataStore(java.util.Map params)
                          throws java.io.IOException
Construct a postgis data store using the params.

Specified by:
createDataStore in interface DataStoreFactorySpi
Parameters:
params - The full set of information needed to construct a live data source. Should have dbtype equal to postgis, as well as host, user, passwd, database, and table.
Returns:
The created DataSource, 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:
java.io.IOException - See DataSourceException
DataSourceException - Thrown if there were any problems creating or connecting the datasource.

createDataStoreInternal

protected PostgisDataStore createDataStoreInternal(ConnectionPool pool,
                                                   java.lang.String namespace,
                                                   java.lang.String schema)
                                            throws java.io.IOException
Throws:
java.io.IOException

createDataStoreInternal

protected PostgisDataStore createDataStoreInternal(ConnectionPool pool)
                                            throws java.io.IOException
Deprecated. this method is only here for backwards compatibility for subclasses, use createDataStoreInternal(ConnectionPool, String, String) instead.

Throws:
java.io.IOException

createDataStoreInternal

protected PostgisDataStore createDataStoreInternal(ConnectionPool pool,
                                                   java.lang.String namespace)
                                            throws java.io.IOException
Deprecated. this method is only here for backwards compatibility for subclasses, use createDataStoreInternal(ConnectionPool, String, String) instead.

Throws:
java.io.IOException

createNewDataStore

public DataStore createNewDataStore(java.util.Map params)
                             throws java.io.IOException
Postgis cannot create a new database.

Specified by:
createNewDataStore in interface DataStoreFactorySpi
Parameters:
params -
Returns:
Throws:
java.io.IOException - See UnsupportedOperationException
java.lang.UnsupportedOperationException - Cannot create new database

getDisplayName

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

A non localized display name for this data store type.

Specified by:
getDisplayName in interface DataStoreFactorySpi
Overrides:
getDisplayName in class AbstractDataStoreFactory
Returns:
return display name based on class name

getDescription

public java.lang.String getDescription()
Describe the nature of the datasource constructed by this factory.

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

isAvailable

public boolean isAvailable()
Determines if the appropriate libraries are present for this datastore factory to successfully produce postgis datastores.

Specified by:
isAvailable in interface DataStoreFactorySpi
Overrides:
isAvailable in class AbstractDataStoreFactory
Returns:
true if the postgresql jar is on the classpath.

getParametersInfo

public DataStoreFactorySpi.Param[] getParametersInfo()
Describe parameters.

Specified by:
getParametersInfo in interface DataStoreFactorySpi
Returns:
See Also:
DataStoreFactorySpi.getParametersInfo()


Copyright © GeoTools. All Rights Reserved.