Class H2GISDataStoreFactory
- All Implemented Interfaces:
DataAccessFactory
,DataStoreFactorySpi
,Factory
DataStoreFactory for H2GIS database.
- Author:
- Nicolas Fortin, Erwan Bocher
-
Nested Class Summary
Nested classes/interfaces inherited from interface DataAccessFactory
DataAccessFactory.Param
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final DataAccessFactory.Param
parameter for how to handle associationsstatic final DataAccessFactory.Param
optional parameter to access the same database without having to start the server manuallystatic final DataAccessFactory.Param
parameter for database typestatic final DataAccessFactory.Param
Enables direct encoding of selected filter functions in sqlstatic final DataAccessFactory.Param
parameter that enables estimated extends instead of exact onesstatic final DataAccessFactory.Param
optional host parameterstatic final DataAccessFactory.Param
optional port parameterstatic final DataAccessFactory.Param
Wheter a prepared statements based dialect should be used, or notstatic final DataAccessFactory.Param
optional user parameterFields inherited from class JDBCDataStoreFactory
BATCH_INSERT_SIZE, CALLBACK_FACTORY, DATABASE, DATASOURCE, EVICTOR_TESTS_PER_RUN, EXPOSE_PK, FETCHSIZE, MAX_OPEN_PREPARED_STATEMENTS, MAXCONN, MAXWAIT, MIN_EVICTABLE_TIME, MINCONN, NAMESPACE, PASSWD, PK_METADATA_TABLE, SCHEMA, SQL_ON_BORROW, SQL_ON_RELEASE, TEST_WHILE_IDLE, TIME_BETWEEN_EVICTOR_RUNS, VALIDATECONN
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected DataSource
createDataSource
(Map<String, ?> params, SQLDialect dialect) Creates the datasource for the data store.protected JDBCDataStore
createDataStoreInternal
(JDBCDataStore dataStore, Map<String, ?> 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.protected SQLDialect
createSQLDialect
(JDBCDataStore dataStore, Map<String, ?> params) Creates the dialect that the datastore uses for communication with the underlying database.protected String
Returns a string to identify the type of the database.Describe the nature of the datasource constructed by this factory.Name suitable for display to end user.protected String
Returns the fully qualified class name of the jdbc driver.protected String
getJDBCUrl
(Map<String, ?> params) Builds up the JDBC url in a jdbc::// : / Override if you need a different setup protected String
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
(File baseDirectory) Sets the base location to store h2 database files.protected void
setupParameters
(Map<String, Object> parameters) Sets up the database connection parameters.Methods inherited from class JDBCDataStoreFactory
canProcess, checkDBType, checkDBType, createDataSource, createDataStore, createNewDataStore, getImplementationHints, getParametersInfo, isAvailable
-
Field Details
-
DBTYPE
parameter for database type -
ASSOCIATIONS
parameter for how to handle associations -
USER
optional user parameter -
HOST
optional host parameter -
PORT
optional port parameter -
AUTO_SERVER
optional parameter to access the same database without having to start the server manually -
ESTIMATED_EXTENTS
parameter that enables estimated extends instead of exact ones -
PREPARED_STATEMENTS
Wheter a prepared statements based dialect should be used, or not -
ENCODE_FUNCTIONS
Enables direct encoding of selected filter functions in sql
-
-
Constructor Details
-
H2GISDataStoreFactory
public H2GISDataStoreFactory()
-
-
Method Details
-
setBaseDirectory
Sets the base location to store h2 database files.- Parameters:
baseDirectory
- A directory.
-
setupParameters
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 classJDBCDataStoreFactory
- Parameters:
parameters
- Map ofDataAccessFactory.Param
objects.
-
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 interfaceDataAccessFactory
- Overrides:
getDisplayName
in classJDBCDataStoreFactory
- Returns:
- A short name suitable for display in a user interface.
-
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
Description copied from class:JDBCDataStoreFactory
Returns a string to identify the type of the database.Example: 'postgis'.
- Specified by:
getDatabaseID
in classJDBCDataStoreFactory
-
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 classJDBCDataStoreFactory
-
createSQLDialect
Description copied from class:JDBCDataStoreFactory
Creates the dialect that the datastore uses for communication with the underlying database.- Overrides:
createSQLDialect
in classJDBCDataStoreFactory
- Parameters:
dataStore
- The datastore.params
- The connection parameters
-
createSQLDialect
Description copied from class:JDBCDataStoreFactory
Creates the dialect that the datastore uses for communication with the underlying database.- Specified by:
createSQLDialect
in classJDBCDataStoreFactory
- Parameters:
dataStore
- The datastore.
-
getJDBCUrl
Description copied from class:JDBCDataStoreFactory
Builds up the JDBC url in a jdbc::// : / Override if you need a different setup - Overrides:
getJDBCUrl
in classJDBCDataStoreFactory
- Throws:
IOException
-
createDataSource
Description copied from class:JDBCDataStoreFactory
Creates the datasource for the data store.This method creates a
BasicDataSource
instance and populates it as follows:- poolPreparedStatements -> false
- driverClassName ->
JDBCDataStoreFactory.getDriverClassName()
- url -> 'jdbc:<
JDBCDataStoreFactory.getDatabaseID()
>://<JDBCDataStoreFactory.HOST
>/<JDBCDataStoreFactory.DATABASE
>' - username -> <
JDBCDataStoreFactory.USER
> - password -> <
JDBCDataStoreFactory.PASSWD
>
- Overrides:
createDataSource
in classJDBCDataStoreFactory
- Throws:
IOException
-
createDataStoreInternal
protected JDBCDataStore createDataStoreInternal(JDBCDataStore dataStore, Map<String, ?> params) throws IOExceptionDescription 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 classJDBCDataStoreFactory
- Parameters:
dataStore
- The newly created datastore.params
- THe datastore parameters.- Throws:
IOException
-
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 classJDBCDataStoreFactory
-