public abstract class JDBCJNDIDataStoreFactory extends JDBCDataStoreFactory
Subclasses should not need to override any methods, only just call the parent constructor passing in the non JNDI datastore factory to delegate to.
DataAccessFactory.Param
Modifier and Type | Field and Description |
---|---|
protected JDBCDataStoreFactory |
delegate
regular datastore factory to delegate to.
|
static String |
J2EERootContext |
static DataAccessFactory.Param |
JNDI_REFNAME
JNDI data source name
|
BATCH_INSERT_SIZE, CALLBACK_FACTORY, DATABASE, DATASOURCE, DBTYPE, EVICTOR_TESTS_PER_RUN, EXPOSE_PK, FETCHSIZE, HOST, MAX_OPEN_PREPARED_STATEMENTS, MAXCONN, MAXWAIT, MIN_EVICTABLE_TIME, MINCONN, NAMESPACE, PASSWD, PK_METADATA_TABLE, PORT, SCHEMA, SQL_ON_BORROW, SQL_ON_RELEASE, TEST_WHILE_IDLE, TIME_BETWEEN_EVICTOR_RUNS, USER, VALIDATECONN
Modifier | Constructor and Description |
---|---|
protected |
JDBCJNDIDataStoreFactory(JDBCDataStoreFactory delegate) |
Modifier and Type | Method and Description |
---|---|
protected boolean |
checkDBType(Map params) |
protected DataSource |
createDataSource(Map params,
SQLDialect dialect)
Override to create the datasource from the external JNDI conection.
|
protected JDBCDataStore |
createDataStoreInternal(JDBCDataStore dataStore,
Map params)
Subclass hook to do additional initialization of a newly created datastore.
|
DataStore |
createNewDataStore(Map params) |
protected SQLDialect |
createSQLDialect(JDBCDataStore dataStore)
Creates the dialect that the datastore uses for communication with the underlying database.
|
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()
Name suitable for display to end user.
|
protected String |
getDriverClassName()
Override which explicitly returns null because with a JNDI connection the driver is not known
ahead of time.
|
Map |
getImplementationHints()
Returns the implementation hints for the datastore.
|
protected String |
getJDBCUrl(Map params)
Override which explicitly returns null since there is no jdbc url, the connection is
identified by the JNDI name.
|
protected String |
getValidationQuery()
Override which explicitly returns null, validation queries are not supported, my be part of
the external data source configuration
|
boolean |
isAvailable()
Determines if the datastore is available.
|
protected void |
setupParameters(Map parameters)
Override to omit all those parameters which define the creation of the connection.
|
canProcess, checkDBType, createDataSource, createDataStore, getParametersInfo
public static final String J2EERootContext
public static final DataAccessFactory.Param JNDI_REFNAME
protected JDBCDataStoreFactory delegate
protected JDBCJNDIDataStoreFactory(JDBCDataStoreFactory delegate)
protected String getDriverClassName()
getDriverClassName
in class JDBCDataStoreFactory
protected String getValidationQuery()
getValidationQuery
in class JDBCDataStoreFactory
protected String getJDBCUrl(Map params) throws IOException
getJDBCUrl
in class JDBCDataStoreFactory
IOException
protected DataSource createDataSource(Map params, SQLDialect dialect) throws IOException
createDataSource
in class JDBCDataStoreFactory
IOException
public boolean isAvailable()
Check in an Initial Context is available, that is all what can be done Checking for the right jdbc jars in the classpath is not possible here
isAvailable
in interface DataAccessFactory
isAvailable
in class JDBCDataStoreFactory
protected void setupParameters(Map parameters)
setupParameters
in class JDBCDataStoreFactory
parameters
- Map of Param
objects.protected String getDatabaseID()
JDBCDataStoreFactory
Example: 'postgis'.
getDatabaseID
in class JDBCDataStoreFactory
public String getDisplayName()
DataAccessFactory
A non localized display name for this data store type.
getDisplayName
in interface DataAccessFactory
getDisplayName
in class JDBCDataStoreFactory
public String getDescription()
DataAccessFactory
A non localized description of this data store type.
protected JDBCDataStore createDataStoreInternal(JDBCDataStore dataStore, Map params) throws IOException
JDBCDataStoreFactory
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.
createDataStoreInternal
in class JDBCDataStoreFactory
dataStore
- The newly created datastore.params
- THe datastore parameters.IOException
public DataStore createNewDataStore(Map params) throws IOException
createNewDataStore
in interface DataStoreFactorySpi
createNewDataStore
in class JDBCDataStoreFactory
IOException
public Map getImplementationHints()
JDBCDataStoreFactory
Subclasses may override, this implementation returns null
.
getImplementationHints
in interface Factory
getImplementationHints
in class JDBCDataStoreFactory
protected SQLDialect createSQLDialect(JDBCDataStore dataStore)
JDBCDataStoreFactory
createSQLDialect
in class JDBCDataStoreFactory
dataStore
- The datastore.protected boolean checkDBType(Map params)
checkDBType
in class JDBCDataStoreFactory
Copyright © 1996–2019 Geotools. All rights reserved.