Interface InformationExtractor
-
- All Known Implementing Classes:
AbstractInformationExtractorImpl
,InformationExtractorJdbcDatabaseMetaDataImpl
@Incubating public interface InformationExtractor
Contract for extracting information about objects in the database schema(s). To an extent, the contract largely mirrors parts of the JDBCDatabaseMetaData
contract. THe intention is to insulate callers fromDatabaseMetaData
since on many databases there are better ways to get information from the meta schema.- API Note:
- Concepts here taken largely from the
MetaDataDialect
class in Hibernate Tools.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
catalogExists(Identifier catalog)
Does the given catalog exist yet?Iterable<ForeignKeyInformation>
getForeignKeys(TableInformation tableInformation)
Extract information about foreign keys defined on the given table (targeting or point-at other tables).Iterable<IndexInformation>
getIndexes(TableInformation tableInformation)
Extract information about indexes defined against the given table.PrimaryKeyInformation
getPrimaryKey(TableInformationImpl tableInformation)
Extract information about the given table's primary key.TableInformation
getTable(Identifier catalog, Identifier schema, Identifier tableName)
Look for a matching table.NameSpaceTablesInformation
getTables(Identifier catalog, Identifier schema)
Extract all the tables information.boolean
schemaExists(Identifier catalog, Identifier schema)
Does the given schema exist yet?
-
-
-
Method Detail
-
catalogExists
boolean catalogExists(Identifier catalog)
Does the given catalog exist yet?- Parameters:
catalog
- The name of the catalog to look for.- Returns:
true
if the catalog does exist;false
otherwise
-
schemaExists
boolean schemaExists(Identifier catalog, Identifier schema)
Does the given schema exist yet?- Parameters:
catalog
- The name of the catalog to look in.schema
- The name of the schema to look for.- Returns:
true
if the schema does exist;false
otherwise
-
getTable
TableInformation getTable(Identifier catalog, Identifier schema, Identifier tableName)
Look for a matching table.- Parameters:
catalog
- Can benull
, indicating that any catalog may be considered a match. A non-null
value indicates that search should be limited to the passed catalog.schema
- Can benull
, indicating that any schema may be considered a match. A non-null
value indicates that search should be limited to the passed schema .tableName
- The name of the table to look for.- Returns:
- table info for the matching table
-
getTables
NameSpaceTablesInformation getTables(Identifier catalog, Identifier schema)
Extract all the tables information.- Parameters:
catalog
- Can benull
, indicating that any catalog may be considered a match. A non-null
value indicates that search should be limited to the passed catalog.schema
- Can benull
, indicating that any schema may be considered a match. A non-null
value indicates that search should be limited to the passed schema .- Returns:
- a
NameSpaceTablesInformation
-
getPrimaryKey
PrimaryKeyInformation getPrimaryKey(TableInformationImpl tableInformation)
Extract information about the given table's primary key.- Parameters:
tableInformation
- The table for which to locate primary key information,- Returns:
- The extracted primary key information
-
getIndexes
Iterable<IndexInformation> getIndexes(TableInformation tableInformation)
Extract information about indexes defined against the given table. Typically called from the TableInformation itself as part of on-demand initialization of its state.- Parameters:
tableInformation
- The table for which to locate indexes- Returns:
- The extracted index information
-
getForeignKeys
Iterable<ForeignKeyInformation> getForeignKeys(TableInformation tableInformation)
Extract information about foreign keys defined on the given table (targeting or point-at other tables). Typically called from the TableInformation itself as part of on-demand initialization of its state.- Parameters:
tableInformation
- The table for which to locate foreign-keys- Returns:
- The extracted foreign-key information
-
-