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.voidinitializeWithMetaData(DatabaseMetaData databaseMetaData) Initialize using the database meta-data provided.voidinitializeWithTableColumnMetaData(DatabaseMetaData databaseMetaData, String catalogName, String schemaName, String tableName) Initialize using provided database meta-data, table and column information.booleanDoes this database support a column name String array for retrieving generated keys:Connection.createStruct(String, Object[])?booleanDoes this database support a simple query to retrieve the generated key when the JDBC 3.0 feature of retrieving generated keys is not supported?booleanDoes this database support the JDBC 3.0 feature of retrieving generated keys:DatabaseMetaData.supportsGetGeneratedKeys()?booleanAre 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 (ornullif none)schemaName- name of schema name to use (ornullif 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
-