The Spring Framework

## org.springframework.jdbc.core.metadata
Interface TableMetaDataProvider

All Known Implementing Classes:
  GenericTableMetaDataProvider, HsqlTableMetaDataProvider, PostgresTableMetaDataProvider

    public interface TableMetaDataProvider

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

Since:
  2.5
Author:
  Thomas Risberg

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

Method Detail

### initializeWithMetaData

    void initializeWithMetaData(DatabaseMetaData databaseMetaData)
                                throws SQLException

  Initialize using the database metedata provided

  Parameters:
    `databaseMetaData` -
  Throws:
    `SQLException`

### initializeWithTableColumnMetaData

    void initializeWithTableColumnMetaData(DatabaseMetaData databaseMetaData,
                                           String catalogName,
                                           String schemaName,
                                           String tableName)
                                           throws SQLException

  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 retreive 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`

### tableNameToUse

    String tableNameToUse(String tableName)

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

  Parameters:
    `tableName` -
  Returns:
    table name formatted

### catalogNameToUse

    String catalogNameToUse(String catalogName)

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

  Parameters:
    `catalogName` -
  Returns:
    catalog name formatted

### schemaNameToUse

    String schemaNameToUse(String schemaName)

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

  Parameters:
    `schemaName` -
  Returns:
    schema name formatted

### metaDataCatalogNameToUse

    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.

  Parameters:
    `catalogName` -
  Returns:
    catalog name to use

### metaDataSchemaNameToUse

    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.

  Parameters:
    `schemaName` -
  Returns:
    schema name to use

### 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 retreiving generated keys `DatabaseMetaData.supportsGetGeneratedKeys()`

### isGetGeneratedKeysSimulated

    boolean isGetGeneratedKeysSimulated()

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

### getSimpleQueryForGetGeneratedKey

    String getSimpleQueryForGetGeneratedKey(String tableName,
                                            String keyColumnName)

  Get the simple query to retreive a generated key

### isGeneratedKeysColumnNameArraySupported

    boolean isGeneratedKeysColumnNameArraySupported()

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

### getTableParameterMetaData

    List<TableParameterMetaData> getTableParameterMetaData()

  Get the table parameter metadata that is currently used.

  Returns:
    List of `TableParameterMetaData`

The Spring Framework

Copyright © 2002-2008 The Spring Framework.