Class PostgisNGDataStoreFactory
- All Implemented Interfaces:
DataAccessFactory,DataStoreFactorySpi,Factory
-
Nested Class Summary
Nested classes/interfaces inherited from interface DataAccessFactory
DataAccessFactory.Param -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final DataAccessFactory.Paramattempt to create the database if missingstatic final DataAccessFactory.Paramattempt to create the database if missingstatic final DataAccessFactory.Paramparameter for database typestatic final DataAccessFactory.ParamEnables direct encoding of selected filter functions in sqlstatic final DataAccessFactory.Paramparameter that enables estimated extends instead of exact onesstatic final DataAccessFactory.Paramenables using && in bbox queriesstatic final DataAccessFactory.Paramparameter for database portstatic final DataAccessFactory.ParamWhether a prepared statements based dialect should be used, or notstatic final DataAccessFactory.Paramstatic final DataAccessFactory.Paramparameter for database schemastatic final DataAccessFactory.ParamSimplification method to use if SIMPLIFY is true.static final DataAccessFactory.ParamEnables usage of a simplification function, when the queries contain geometry simplification hints The simplification function used depends on SIMPLIFICATION_METHOD setting, and is ST_Simplify by defaultstatic final DataAccessFactory.ParamFields inherited from class JDBCDataStoreFactory
BATCH_INSERT_SIZE, CALLBACK_FACTORY, DATABASE, DATASOURCE, EVICTOR_TESTS_PER_RUN, EXPOSE_PK, FETCHSIZE, HOST, MAX_OPEN_PREPARED_STATEMENTS, MAXCONN, MAXWAIT, MIN_EVICTABLE_TIME, MINCONN, NAMESPACE, PASSWD, PK_METADATA_TABLE, SQL_ON_BORROW, SQL_ON_RELEASE, TEST_WHILE_IDLE, TIME_BETWEEN_EVICTOR_RUNS, USER, VALIDATECONN -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleancheckDBType(Map<String, ?> params) protected DataSourcecreateDataSource(Map<String, ?> params, SQLDialect dialect) Creates the datasource for the data store.protected JDBCDataStorecreateDataStoreInternal(JDBCDataStore dataStore, Map<String, ?> params) Subclass hook to do additional initialization of a newly created datastore.protected SQLDialectcreateSQLDialect(JDBCDataStore dataStore) Creates the dialect that the datastore uses for communication with the underlying database.protected SQLDialectcreateSQLDialect(JDBCDataStore dataStore, Map<String, ?> params) Creates the dialect that the datastore uses for communication with the underlying database.voiddropDatabase(Map<String, Object> params) Drops the database specified in the connection params.protected StringReturns 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 StringReturns the fully qualified class name of the jdbc driver.protected StringgetJDBCUrl(Map<String, ?> params) Builds up the JDBC url in a jdbc::// : / Override if you need a different setup protected StringOverride 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 voidsetupParameters(Map<String, Object> parameters) Sets up the database connection parameters.Methods inherited from class JDBCDataStoreFactory
canProcess, checkDBType, createDataSource, createDataStore, createNewDataStore, getImplementationHints, getParametersInfo, isAvailable
-
Field Details
-
DBTYPE
parameter for database type -
LOOSEBBOX
enables using && in bbox queries -
ESTIMATED_EXTENTS
parameter that enables estimated extends instead of exact ones -
PORT
parameter for database port -
SCHEMA
parameter for database schema -
CREATE_DB_IF_MISSING
attempt to create the database if missing -
CREATE_PARAMS
attempt to create the database if missing -
PREPARED_STATEMENTS
Whether a prepared statements based dialect should be used, or not -
ENCODE_FUNCTIONS
Enables direct encoding of selected filter functions in sql -
SIMPLIFY
Enables usage of a simplification function, when the queries contain geometry simplification hints The simplification function used depends on SIMPLIFICATION_METHOD setting, and is ST_Simplify by default -
SIMPLIFICATION_METHOD
Simplification method to use if SIMPLIFY is true. By default ST_Simplify is used. -
SSL_MODE
-
REWRITE_BATCHED_INSERTS
-
-
Constructor Details
-
PostgisNGDataStoreFactory
public PostgisNGDataStoreFactory()
-
-
Method Details
-
createSQLDialect
Description copied from class:JDBCDataStoreFactoryCreates the dialect that the datastore uses for communication with the underlying database.- Overrides:
createSQLDialectin classJDBCDataStoreFactory- Parameters:
dataStore- The datastore.params- The connection parameters
-
createSQLDialect
Description copied from class:JDBCDataStoreFactoryCreates the dialect that the datastore uses for communication with the underlying database.- Specified by:
createSQLDialectin classJDBCDataStoreFactory- Parameters:
dataStore- The datastore.
-
getDatabaseID
Description copied from class:JDBCDataStoreFactoryReturns a string to identify the type of the database.Example: 'postgis'.
- Specified by:
getDatabaseIDin classJDBCDataStoreFactory
-
getDisplayName
Description copied from interface:DataAccessFactoryName suitable for display to end user.A non localized display name for this data store type.
- Specified by:
getDisplayNamein interfaceDataAccessFactory- Overrides:
getDisplayNamein classJDBCDataStoreFactory- Returns:
- A short name suitable for display in a user interface.
-
getDescription
Description copied from interface:DataAccessFactoryDescribe 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
Description copied from class:JDBCDataStoreFactoryReturns the fully qualified class name of the jdbc driver.For example: org.postgresql.Driver
- Specified by:
getDriverClassNamein classJDBCDataStoreFactory
-
checkDBType
- Overrides:
checkDBTypein classJDBCDataStoreFactory
-
createDataStoreInternal
protected JDBCDataStore createDataStoreInternal(JDBCDataStore dataStore, Map<String, ?> params) throws IOExceptionDescription copied from class:JDBCDataStoreFactorySubclass 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:
createDataStoreInternalin classJDBCDataStoreFactory- Parameters:
dataStore- The newly created datastore.params- THe datastore parameters.- Throws:
IOException
-
setupParameters
Description copied from class:JDBCDataStoreFactorySets 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:
setupParametersin classJDBCDataStoreFactory- Parameters:
parameters- Map ofDataAccessFactory.Paramobjects.
-
getValidationQuery
Description copied from class:JDBCDataStoreFactoryOverride 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:
getValidationQueryin classJDBCDataStoreFactory
-
getJDBCUrl
Description copied from class:JDBCDataStoreFactoryBuilds up the JDBC url in a jdbc::// : / Override if you need a different setup - Overrides:
getJDBCUrlin classJDBCDataStoreFactory- Throws:
IOException
-
createDataSource
Description copied from class:JDBCDataStoreFactoryCreates the datasource for the data store.This method creates a
BasicDataSourceinstance 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:
createDataSourcein classJDBCDataStoreFactory- Throws:
IOException
-
dropDatabase
Drops the database specified in the connection params. The database must not be in use, and the user must have the necessary privileges- Throws:
IOException
-