org.geotools.data.postgis
Class PostgisNGDataStoreFactory

Object
  extended by AbstractDataStoreFactory
      extended by JDBCDataStoreFactory
          extended by PostgisNGDataStoreFactory
All Implemented Interfaces:
DataAccessFactory, DataStoreFactorySpi, Factory

public class PostgisNGDataStoreFactory
extends JDBCDataStoreFactory


Nested Class Summary
 
Nested classes/interfaces inherited from interface DataAccessFactory
DataAccessFactory.Param
 
Field Summary
static DataAccessFactory.Param CREATE_DB_IF_MISSING
          attempt to create the database if missing
static DataAccessFactory.Param CREATE_PARAMS
          attempt to create the database if missing
static DataAccessFactory.Param DBTYPE
          parameter for database type
static DataAccessFactory.Param ENCODE_FUNCTIONS
          Enables direct encoding of selected filter functions in sql
static DataAccessFactory.Param ESTIMATED_EXTENTS
          parameter that enables estimated extends instead of exact ones
static DataAccessFactory.Param LOOSEBBOX
          enables using && in bbox queries
static DataAccessFactory.Param PORT
          parameter for database port
static DataAccessFactory.Param PREPARED_STATEMENTS
          Wheter a prepared statements based dialect should be used, or not
static DataAccessFactory.Param SCHEMA
          parameter for database schema
 
Fields inherited from class JDBCDataStoreFactory
DATABASE, DATASOURCE, EXPOSE_PK, FETCHSIZE, HOST, MAX_OPEN_PREPARED_STATEMENTS, MAXCONN, MAXWAIT, MINCONN, NAMESPACE, PASSWD, PK_METADATA_TABLE, SQL_ON_BORROW, SQL_ON_RELEASE, USER, VALIDATECONN
 
Constructor Summary
PostgisNGDataStoreFactory()
           
 
Method Summary
protected  boolean checkDBType(Map params)
           
protected  DataSource createDataSource(Map params, SQLDialect dialect)
          Creates the datasource for the data store.
protected  JDBCDataStore createDataStoreInternal(JDBCDataStore dataStore, Map params)
          Subclass hook to do additional initialization of a newly created datastore.
protected  SQLDialect createSQLDialect(JDBCDataStore dataStore)
          Creates the dialect that the datastore uses for communication with the underlying database.
 void dropDatabase(Map<String,Object> params)
          Drops the database specified in the connection params.
protected  String getDatabaseID()
          Returns a string to identify the type of the database.
 String getDescription()
          Describe the nature of the datasource constructed by this factory.
 String getDisplayName()
          Default Implementation abuses the naming convention.
protected  String getDriverClassName()
          Returns the fully qualified class name of the jdbc driver.
protected  String getJDBCUrl(Map params)
          Builds up the JDBC url in a jdbc:://:/ Override if you need a different setup
protected  String getValidationQuery()
          Override this to return a good validation query (a very quick one, such as one that asks the database what time is it) or return null if the factory does not support validation.
protected  void setupParameters(Map parameters)
          Sets up the database connection parameters.
 
Methods inherited from class JDBCDataStoreFactory
canProcess, checkDBType, createDataSource, createDataStore, createNewDataStore, getImplementationHints, getParametersInfo, isAvailable
 
Methods inherited from class AbstractDataStoreFactory
getParameters
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DBTYPE

public static final DataAccessFactory.Param DBTYPE
parameter for database type


LOOSEBBOX

public static final DataAccessFactory.Param LOOSEBBOX
enables using && in bbox queries


ESTIMATED_EXTENTS

public static final DataAccessFactory.Param ESTIMATED_EXTENTS
parameter that enables estimated extends instead of exact ones


PORT

public static final DataAccessFactory.Param PORT
parameter for database port


SCHEMA

public static final DataAccessFactory.Param SCHEMA
parameter for database schema


CREATE_DB_IF_MISSING

public static final DataAccessFactory.Param CREATE_DB_IF_MISSING
attempt to create the database if missing


CREATE_PARAMS

public static final DataAccessFactory.Param CREATE_PARAMS
attempt to create the database if missing


PREPARED_STATEMENTS

public static final DataAccessFactory.Param PREPARED_STATEMENTS
Wheter a prepared statements based dialect should be used, or not


ENCODE_FUNCTIONS

public static final DataAccessFactory.Param ENCODE_FUNCTIONS
Enables direct encoding of selected filter functions in sql

Constructor Detail

PostgisNGDataStoreFactory

public PostgisNGDataStoreFactory()
Method Detail

createSQLDialect

protected SQLDialect createSQLDialect(JDBCDataStore dataStore)
Description copied from class: JDBCDataStoreFactory
Creates the dialect that the datastore uses for communication with the underlying database.

Specified by:
createSQLDialect in class JDBCDataStoreFactory
Parameters:
dataStore - The datastore.

getDatabaseID

protected String getDatabaseID()
Description copied from class: JDBCDataStoreFactory
Returns a string to identify the type of the database.

Example: 'postgis'.

Specified by:
getDatabaseID in class JDBCDataStoreFactory

getDisplayName

public String getDisplayName()
Description copied from class: AbstractDataStoreFactory
Default Implementation abuses the naming convention.

Will return Foo for org.geotools.data.foo.FooFactory.

Specified by:
getDisplayName in interface DataAccessFactory
Overrides:
getDisplayName in class JDBCDataStoreFactory
Returns:
return display name based on class name

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.

Returns:
A human readable description that is suitable for inclusion in a list of available datasources.

getDriverClassName

protected String getDriverClassName()
Description copied from class: JDBCDataStoreFactory
Returns the fully qualified class name of the jdbc driver.

For example: org.postgresql.Driver

Specified by:
getDriverClassName in class JDBCDataStoreFactory

checkDBType

protected boolean checkDBType(Map params)
Overrides:
checkDBType in class JDBCDataStoreFactory

createDataStoreInternal

protected JDBCDataStore createDataStoreInternal(JDBCDataStore dataStore,
                                                Map params)
                                         throws IOException
Description copied from class: JDBCDataStoreFactory
Subclass hook to do additional initialization of a newly created datastore.

Typically subclasses will want to override this method in the case where they provide additional datastore parameters, those should be processed here.

This method is provided with an instance of the datastore. In some cases subclasses may wish to create a new instance of the datastore, for instance in order to wrap the original instance. This is supported but the new datastore must be returned from this method. If not is such the case this method should still return the original passed in.

Overrides:
createDataStoreInternal in class JDBCDataStoreFactory
Parameters:
dataStore - The newly created datastore.
params - THe datastore parameters.
Throws:
IOException

setupParameters

protected void setupParameters(Map parameters)
Description copied from class: JDBCDataStoreFactory
Sets up the database connection parameters.

Subclasses may extend, but should not override. This implementation registers the following parameters.

Subclass implementation may remove any parameters from the map, or may overrwrite any parameters in the map.

Overrides:
setupParameters in class JDBCDataStoreFactory
Parameters:
parameters - Map of Param objects.

getValidationQuery

protected String getValidationQuery()
Description copied from class: JDBCDataStoreFactory
Override this to return a good validation query (a very quick one, such as one that asks the database what time is it) or return null if the factory does not support validation.

Specified by:
getValidationQuery in class JDBCDataStoreFactory
Returns:

getJDBCUrl

protected String getJDBCUrl(Map params)
                     throws IOException
Description copied from class: JDBCDataStoreFactory
Builds up the JDBC url in a jdbc:://:/ Override if you need a different setup

Overrides:
getJDBCUrl in class JDBCDataStoreFactory
Returns:
Throws:
IOException

createDataSource

protected DataSource createDataSource(Map params,
                                      SQLDialect dialect)
                               throws IOException
Description copied from class: JDBCDataStoreFactory
Creates the datasource for the data store.

This method creates a BasicDataSource instance and populates it as follows:

If different behaviour is needed, this method should be extended or overridden.

Overrides:
createDataSource in class JDBCDataStoreFactory
Throws:
IOException

dropDatabase

public void dropDatabase(Map<String,Object> params)
                  throws IOException
Drops the database specified in the connection params. The database must not be in use, and the user must have the necessary privileges

Parameters:
params -
Throws:
IOException


Copyright © 1996-2014 Geotools. All Rights Reserved.