public interface

TableMetaDataProvider

org.springframework.jdbc.core.metadata.TableMetaDataProvider
Known Indirect Subclasses

Class Overview

Interface specifying the API to be implemented by a class providing table metedata. This is intended for internal use by the Simple JDBC classes.

Summary

Public Methods
abstract String catalogNameToUse(String catalogName)
Get the catalog name formatted based on metadata information.
abstract String getSimpleQueryForGetGeneratedKey(String tableName, String keyColumnName)
Get the simple query to retrieve a generated key
abstract List<TableParameterMetaData> getTableParameterMetaData()
Get the table parameter metadata that is currently used.
abstract void initializeWithMetaData(DatabaseMetaData databaseMetaData)
Initialize using the database metedata provided
abstract void initializeWithTableColumnMetaData(DatabaseMetaData databaseMetaData, String catalogName, String schemaName, String tableName)
Initialize using provided database metadata, table and column information.
abstract boolean isGeneratedKeysColumnNameArraySupported()
Does this database support a column name String array for retreiving generated keys createStruct(String, Object[])
abstract boolean isGetGeneratedKeysSimulated()
Does this database support a simple quey to retrieve the generated key whe the JDBC 3.0 feature of retreiving generated keys is not supported supportsGetGeneratedKeys()
abstract boolean isGetGeneratedKeysSupported()
Does this database support the JDBC 3.0 feature of retreiving generated keys supportsGetGeneratedKeys()
abstract boolean isTableColumnMetaDataUsed()
Are we using the meta data for the table columns?
abstract String metaDataCatalogNameToUse(String catalogName)
Provide any modification of the catalog name passed in to match the meta data currently used.
abstract String metaDataSchemaNameToUse(String schemaName)
Provide any modification of the schema name passed in to match the meta data currently used.
abstract String schemaNameToUse(String schemaName)
Get the schema name formatted based on metadata information.
abstract void setNativeJdbcExtractor(NativeJdbcExtractor nativeJdbcExtractor)
Set the NativeJdbcExtractor to use to retrieve the native connection if necessary
abstract String tableNameToUse(String tableName)
Get the table name formatted based on metadata information.

Public Methods

public abstract String catalogNameToUse (String catalogName)

Get the catalog name formatted based on metadata information. This could include altering the case.

Returns
  • catalog name formatted

public abstract String getSimpleQueryForGetGeneratedKey (String tableName, String keyColumnName)

Get the simple query to retrieve a generated key

public abstract List<TableParameterMetaData> getTableParameterMetaData ()

Get the table parameter metadata that is currently used.

Returns

public abstract void initializeWithMetaData (DatabaseMetaData databaseMetaData)

Initialize using the database metedata provided

Throws
SQLException

public abstract void initializeWithTableColumnMetaData (DatabaseMetaData databaseMetaData, String catalogName, String schemaName, String tableName)

Initialize using provided database metadata, table and column information. This initalization can be turned off by specifying that column meta data should not be used.

Parameters
databaseMetaData used to retrieve database specific information
catalogName name of catalog to use or null
schemaName name of schema name to use or null
tableName name of the table
Throws
SQLException

public abstract boolean isGeneratedKeysColumnNameArraySupported ()

Does this database support a column name String array for retreiving generated keys createStruct(String, Object[])

public abstract boolean isGetGeneratedKeysSimulated ()

Does this database support a simple quey to retrieve the generated key whe the JDBC 3.0 feature of retreiving generated keys is not supported supportsGetGeneratedKeys()

public abstract boolean isGetGeneratedKeysSupported ()

Does this database support the JDBC 3.0 feature of retreiving generated keys supportsGetGeneratedKeys()

public abstract boolean isTableColumnMetaDataUsed ()

Are we using the meta data for the table columns?

public abstract String metaDataCatalogNameToUse (String catalogName)

Provide any modification of the catalog name passed in to match the meta data currently used. The reyurned value will be used for meta data lookups. This could include alterig the case used or providing a base catalog if mone provided.

Returns
  • catalog name to use

public abstract String metaDataSchemaNameToUse (String schemaName)

Provide any modification of the schema name passed in to match the meta data currently used. The reyurned value will be used for meta data lookups. This could include alterig the case used or providing a base schema if mone provided.

Returns
  • schema name to use

public abstract String schemaNameToUse (String schemaName)

Get the schema name formatted based on metadata information. This could include altering the case.

Returns
  • schema name formatted

public abstract void setNativeJdbcExtractor (NativeJdbcExtractor nativeJdbcExtractor)

Set the NativeJdbcExtractor to use to retrieve the native connection if necessary

public abstract String tableNameToUse (String tableName)

Get the table name formatted based on metadata information. This could include altering the case.

Returns
  • table name formatted