Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.modeshape.connector.meta.jdbc
Interface MetadataCollector

All Known Implementing Classes:
  JdbcMetadataCollector, SqlServerMetadataCollector

    public interface MetadataCollector

The `MetadataCollector` provides hooks for DBMS-specific implementations of metadata retrieval methods. These methods largely duplicate what is provided in `the JDBC metadata interface`, but allow a pluggable way to work around JDBC driver-specific shortcomings.

For convenience, a `JdbcMetadataCollector` default implementation} of this interface is provided that is based on `DatabaseMetaData`.

See Also:
  `JdbcMetadataCollector`

Method Summary
`List<String>` | `getCatalogNames(Connection conn)` Return the list of catalog names that currently exist in the database to which `connection` is connected.
`List<ColumnMetadata>` | `getColumns(Connection conn, String catalogName, String schemaName, String tableName, String columnName)` Return the list of columns that currently exist in the database to which `connection` is connected within the named catalog (if `catalogName` is non-null), named schema (if `schemaName` is non-null), and named table.
`List<ProcedureMetadata>` | `getProcedures(Connection conn, String catalogName, String schemaName, String procedureName)` Return the list of procedures that currently exist in the database to which `connection` is connected within the named catalog (if `catalogName` is non-null) and named schema (if `schemaName` is non-null).
`List<String>` | `getSchemaNames(Connection conn, String catalogName)` Return the list of schema names that currently exist in the database to which `connection` is connected within the named catalog.
`List<TableMetadata>` | `getTables(Connection conn, String catalogName, String schemaName, String tableName)` Return the list of tables that currently exist in the database to which `connection` is connected within the named catalog (if `catalogName` is non-null) and named schema (if `schemaName` is non-null).

Method Detail

### getCatalogNames

    List<String> getCatalogNames(Connection conn)
                                 throws JdbcMetadataException

  Return the list of catalog names that currently exist in the database to which `connection` is connected. The names must be sorted in a manner that is stable between successive calls to this method.

  Parameters:
    `conn` - the connection to the database; must not be non-null and must be open. This connection should not be closed by this method.
  Returns:
    An ordered list of the catalogs in the database, or an empty list if no catalogs exist; may not be null
  Throws:
    `JdbcMetadataException` - if the catalog names cannot be retrieved
  See Also:
    `DatabaseMetaData.getCatalogs()`

### getSchemaNames

    List<String> getSchemaNames(Connection conn,
                                String catalogName)
                                throws JdbcMetadataException

  Return the list of schema names that currently exist in the database to which `connection` is connected within the named catalog. If `catalogName` is null, then all schema names should be returned regardless of the catalog with which they are associated. The schema names must be sorted in a manner that is stable between successive calls to this method.

  Parameters:
    `conn` - the connection to the database; must not be non-null and must be open. This connection should not be closed by this method.
    `catalogName` - the name of the catalog to which returned schemas must belong, or null if all schemas are to be returned
  Returns:
    An ordered list of the schemas in the database, or an empty list if no schemas exist; may not be null
  Throws:
    `JdbcMetadataException` - if the schema names cannot be retrieved
  See Also:
    `DatabaseMetaData.getSchemas()`

### getTables

    List<TableMetadata> getTables(Connection conn,
                                  String catalogName,
                                  String schemaName,
                                  String tableName)
                                  throws JdbcMetadataException

  Return the list of tables that currently exist in the database to which `connection` is connected within the named catalog (if `catalogName` is non-null) and named schema (if `schemaName` is non-null). If `tableName` is null, then all tables which conform to the catalog and schema restriction noted previously should be returned. If `tableName` is non-null, then only the table(s) that exactly match that name should be returned. The table metadata must be sorted in a manner that is stable between successive calls to this method.

  Parameters:
    `conn` - the connection to the database; must not be non-null and must be open. This connection should not be closed by this method.
    `catalogName` - the name of the catalog to which returned tables must belong, or null if tables are to be returned without regard to their catalog
    `schemaName` - the name of the schema to which returned tables must belong, or null if tables are to be returned without regard to their schema
    `tableName` - the name of the table to be returned, or null if all tables within the given catalog and schema are to be returned
  Returns:
    An ordered list of the tables in the database that match the given constraints, or an empty list if no tables exist that match the given constraints; may not be null
  Throws:
    `JdbcMetadataException` - if the table metadata cannot be retrieved
  See Also:
    `DatabaseMetaData.getTables(String, String, String, String[])`

### getColumns

    List<ColumnMetadata> getColumns(Connection conn,
                                    String catalogName,
                                    String schemaName,
                                    String tableName,
                                    String columnName)
                                    throws JdbcMetadataException

  Return the list of columns that currently exist in the database to which `connection` is connected within the named catalog (if `catalogName` is non-null), named schema (if `schemaName` is non-null), and named table. If `columnName` is null, then all columns which conform to the catalog, schema, and table restrictions noted previously should be returned. If `columnName` is non-null, then only the column that exactly matches that name should be returned. The column metadata must be sorted in a manner that is stable between successive calls to this method.

  Parameters:
    `conn` - the connection to the database; must not be non-null and must be open. This connection should not be closed by this method.
    `catalogName` - the name of the catalog to which returned columns must belong, or null if columns are to be returned without regard to their catalog
    `schemaName` - the name of the schema to which returned columns must belong, or null if columns are to be returned without regard to their schema
    `tableName` - the name of the table to which returned columns must belong; may not be null
    `columnName` - the name of the column to be returned, or null if all columns within the given catalog, schema, and table are to be returned
  Returns:
    An ordered list of the columns in the database that match the given constraints, or an empty list if no columns exist that match the given constraints; may not be null
  Throws:
    `JdbcMetadataException` - if the column metadata cannot be retrieved
  See Also:
    `DatabaseMetaData.getColumns(String, String, String, String)`

### getProcedures

    List<ProcedureMetadata> getProcedures(Connection conn,
                                          String catalogName,
                                          String schemaName,
                                          String procedureName)
                                          throws JdbcMetadataException

  Return the list of procedures that currently exist in the database to which `connection` is connected within the named catalog (if `catalogName` is non-null) and named schema (if `schemaName` is non-null). If `procedureName` is null, then all procedures which conform to the catalog and schema restriction noted previously should be returned. If `procedureName` is non-null, then only the procedure(s) that exactly match that name should be returned. The procedure metadata must be sorted in a manner that is stable between successive calls to this method.

  Parameters:
    `conn` - the connection to the database; must not be non-null and must be open. This connection should not be closed by this method.
    `catalogName` - the name of the catalog to which returned procedures must belong, or null if procedures are to be returned without regard to their catalog
    `schemaName` - the name of the schema to which returned procedures must belong, or null if procedures are to be returned without regard to their schema
    `procedureName` - the name of the procedure(s) to be returned, or null if all procedures within the given catalog and schema are to be returned
  Returns:
    An ordered list of the procedures in the database that match the given constraints, or an empty list if no procedures exist that match the given constraints; may not be null
  Throws:
    `JdbcMetadataException` - if the procedure metadata cannot be retrieved

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2008-2011 JBoss, a division of Red Hat. All Rights Reserved.