org.geotools.data.h2
Class H2DataStoreFactory

java.lang.Object
  extended by org.geotools.data.AbstractDataStoreFactory
      extended by org.geotools.jdbc.JDBCDataStoreFactory
          extended by org.geotools.data.h2.H2DataStoreFactory
All Implemented Interfaces:
DataAccessFactory, DataStoreFactorySpi, Factory

public class H2DataStoreFactory
extends JDBCDataStoreFactory

DataStoreFacotry for H2 database.

Author:
Justin Deoliveira, The Open Planning Project

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.geotools.data.DataAccessFactory
DataAccessFactory.Param
 
Field Summary
static DataAccessFactory.Param ASSOCIATIONS
          parameter for how to handle associations
static DataAccessFactory.Param DBTYPE
          parameter for database type
static DataAccessFactory.Param HOST
          optional host parameter
static DataAccessFactory.Param PORT
          optional port parameter
static DataAccessFactory.Param USER
          optional user parameter
 
Fields inherited from class org.geotools.jdbc.JDBCDataStoreFactory
DATABASE, DATASOURCE, EXPOSE_PK, FETCHSIZE, MAX_OPEN_PREPARED_STATEMENTS, MAXCONN, MAXWAIT, MINCONN, NAMESPACE, PASSWD, PK_METADATA_TABLE, SCHEMA, VALIDATECONN
 
Constructor Summary
H2DataStoreFactory()
           
 
Method Summary
protected  javax.sql.DataSource createDataSource(java.util.Map params, SQLDialect dialect)
          Creates the datasource for the data store.
protected  JDBCDataStore createDataStoreInternal(JDBCDataStore dataStore, java.util.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.
 java.io.File getBaseDirectory()
          The base location to store h2 database files.
protected  java.lang.String getDatabaseID()
          Returns a string to identify the type of the database.
 java.lang.String getDescription()
          Describe the nature of the datasource constructed by this factory.
 java.lang.String getDisplayName()
          Default Implementation abuses the naming convention.
protected  java.lang.String getDriverClassName()
          Returns the fully qualified class name of the jdbc driver.
protected  java.lang.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.
 void setBaseDirectory(java.io.File baseDirectory)
          Sets the base location to store h2 database files.
protected  void setupParameters(java.util.Map parameters)
          Sets up the database connection parameters.
 
Methods inherited from class org.geotools.jdbc.JDBCDataStoreFactory
canProcess, checkDBType, checkDBType, createDataSource, createDataStore, createNewDataStore, getImplementationHints, getJDBCUrl, getParametersInfo, isAvailable
 
Methods inherited from class org.geotools.data.AbstractDataStoreFactory
getParameters
 
Methods inherited from class java.lang.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


ASSOCIATIONS

public static final DataAccessFactory.Param ASSOCIATIONS
parameter for how to handle associations


USER

public static final DataAccessFactory.Param USER
optional user parameter


HOST

public static final DataAccessFactory.Param HOST
optional host parameter


PORT

public static final DataAccessFactory.Param PORT
optional port parameter

Constructor Detail

H2DataStoreFactory

public H2DataStoreFactory()
Method Detail

setBaseDirectory

public void setBaseDirectory(java.io.File baseDirectory)
Sets the base location to store h2 database files.

Parameters:
baseDirectory - A directory.

getBaseDirectory

public java.io.File getBaseDirectory()
The base location to store h2 database files.


setupParameters

protected void setupParameters(java.util.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.

getDisplayName

public java.lang.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 java.lang.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.

getDatabaseID

protected java.lang.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

getDriverClassName

protected java.lang.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

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.

createDataSource

protected javax.sql.DataSource createDataSource(java.util.Map params,
                                                SQLDialect dialect)
                                         throws java.io.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:
java.io.IOException

createDataStoreInternal

protected JDBCDataStore createDataStoreInternal(JDBCDataStore dataStore,
                                                java.util.Map params)
                                         throws java.io.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:
java.io.IOException

getValidationQuery

protected java.lang.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:


Copyright © 1996-2010 Geotools. All Rights Reserved.