Interface TableMetaDataProvider
- All Known Implementing Classes:
DerbyTableMetaDataProvider
,GenericTableMetaDataProvider
,HsqlTableMetaDataProvider
,OracleTableMetaDataProvider
,PostgresTableMetaDataProvider
public interface TableMetaDataProvider
Interface specifying the API to be implemented by a class providing table meta-data.
This is intended for internal use by the Simple JDBC classes.
- Since:
- 2.5
- Author:
- Thomas Risberg
-
Method Summary
Modifier and TypeMethodDescriptioncatalogNameToUse
(String catalogName) Get the catalog name formatted based on meta-data information.getSimpleQueryForGetGeneratedKey
(String tableName, String keyColumnName) Get the simple query to retrieve a generated key.Get the table parameter meta-data that is currently used.void
initializeWithMetaData
(DatabaseMetaData databaseMetaData) Initialize using the database meta-data provided.void
initializeWithTableColumnMetaData
(DatabaseMetaData databaseMetaData, String catalogName, String schemaName, String tableName) Initialize using provided database meta-data, table and column information.boolean
Does this database support a column name String array for retrieving generated keys:Connection.createStruct(String, Object[])
?boolean
Does this database support a simple query to retrieve the generated key when the JDBC 3.0 feature of retrieving generated keys is not supported?boolean
Does this database support the JDBC 3.0 feature of retrieving generated keys:DatabaseMetaData.supportsGetGeneratedKeys()
?boolean
Are we using the meta-data for the table columns?metaDataCatalogNameToUse
(String catalogName) Provide any modification of the catalog name passed in to match the meta-data currently used.metaDataSchemaNameToUse
(String schemaName) Provide any modification of the schema name passed in to match the meta-data currently used.schemaNameToUse
(String schemaName) Get the schema name formatted based on meta-data information.tableNameToUse
(String tableName) Get the table name formatted based on meta-data information.
-
Method Details
-
initializeWithMetaData
Initialize using the database meta-data provided.- Parameters:
databaseMetaData
- used to retrieve database specific information- Throws:
SQLException
- in case of initialization failure
-
initializeWithTableColumnMetaData
void initializeWithTableColumnMetaData(DatabaseMetaData databaseMetaData, @Nullable String catalogName, @Nullable String schemaName, @Nullable String tableName) throws SQLException Initialize using provided database meta-data, table and column information. This initialization can be turned off by specifying that column meta-data should not be used.- Parameters:
databaseMetaData
- used to retrieve database specific informationcatalogName
- name of catalog to use (ornull
if none)schemaName
- name of schema name to use (ornull
if none)tableName
- name of the table- Throws:
SQLException
- in case of initialization failure
-
tableNameToUse
Get the table name formatted based on meta-data information. This could include altering the case. -
catalogNameToUse
Get the catalog name formatted based on meta-data information. This could include altering the case. -
schemaNameToUse
Get the schema name formatted based on meta-data information. This could include altering the case. -
metaDataCatalogNameToUse
Provide any modification of the catalog name passed in to match the meta-data currently used. The returned value will be used for meta-data lookups. This could include altering the case used or providing a base catalog if none is provided. -
metaDataSchemaNameToUse
Provide any modification of the schema name passed in to match the meta-data currently used. The returned value will be used for meta-data lookups. This could include altering the case used or providing a base schema if none is provided. -
isTableColumnMetaDataUsed
boolean isTableColumnMetaDataUsed()Are we using the meta-data for the table columns? -
isGetGeneratedKeysSupported
boolean isGetGeneratedKeysSupported()Does this database support the JDBC 3.0 feature of retrieving generated keys:DatabaseMetaData.supportsGetGeneratedKeys()
? -
isGetGeneratedKeysSimulated
boolean isGetGeneratedKeysSimulated()Does this database support a simple query to retrieve the generated key when the JDBC 3.0 feature of retrieving generated keys is not supported?- See Also:
-
getSimpleQueryForGetGeneratedKey
Get the simple query to retrieve a generated key. -
isGeneratedKeysColumnNameArraySupported
boolean isGeneratedKeysColumnNameArraySupported()Does this database support a column name String array for retrieving generated keys:Connection.createStruct(String, Object[])
? -
getTableParameterMetaData
List<TableParameterMetaData> getTableParameterMetaData()Get the table parameter meta-data that is currently used.- Returns:
- a List of
TableParameterMetaData
-