|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.ddlutils.platform.JdbcModelReader
An utility class to create a Database model from a live database.
Constructor Summary | |
JdbcModelReader(PlatformInfo platformInfo)
Creates a new model reader instance. |
Method Summary | |
protected void |
determineAutoIncrementFromResultSetMetaData(Table table,
Column[] columnsToCheck)
Helper method that determines the auto increment status for the given columns via the ResultSetMetaData.isAutoIncrement(int) method. |
protected List |
getColumnsForColumn()
Returns the descriptors for the columns to be read from the column meta data result set. |
protected List |
getColumnsForFK()
Returns the descriptors for the columns to be read from the foreign key meta data result set. |
protected List |
getColumnsForIndex()
Returns the descriptors for the columns to be read from the index meta data result set. |
protected List |
getColumnsForPK()
Returns the descriptors for the columns to be read from the primary key meta data result set. |
protected List |
getColumnsForTable()
Returns the descriptors for the columns to be read from the table meta data result set. |
protected Connection |
getConnection()
Returns the active connection. |
Database |
getDatabase(Connection connection,
String name)
Reads the database model from the given connection. |
Database |
getDatabase(Connection connection,
String name,
String catalog,
String schema,
String[] tableTypes)
Reads the database model from the given connection. |
String |
getDefaultCatalogPattern()
Returns the catalog(s) in the database to read per default. |
String |
getDefaultSchemaPattern()
Returns the schema(s) in the database to read per default. |
String |
getDefaultTablePattern()
Returns the default pattern to read the relevant tables from the database. |
String[] |
getDefaultTableTypes()
Returns the table types to recognize per default. |
PlatformInfo |
getPlatformInfo()
Returns the platform specific settings. |
protected List |
initColumnsForColumn()
Returns descriptors for the columns that shall be read from the result set when reading the meta data for table columns. |
protected List |
initColumnsForFK()
Returns descriptors for the columns that shall be read from the result set when reading the meta data for foreign keys originating from a table. |
protected List |
initColumnsForIndex()
Returns descriptors for the columns that shall be read from the result set when reading the meta data for indices. |
protected List |
initColumnsForPK()
Returns descriptors for the columns that shall be read from the result set when reading the meta data for primary keys. |
protected List |
initColumnsForTable()
Returns descriptors for the columns that shall be read from the result set when reading the meta data for a table. |
protected boolean |
isInternalForeignKeyIndex(Table table,
ForeignKey fk,
Index index)
Tries to determine whether the index is the internal database-generated index for the given foreign key. |
protected boolean |
isInternalPrimaryKeyIndex(Table table,
Index index)
Tries to determine whether the index is the internal database-generated index for the given table's primary key. |
protected boolean |
matches(Index index,
List columnsToSearchFor)
Checks whether the given index matches the column list. |
protected Column |
readColumn(DatabaseMetaDataWrapper metaData,
Map values)
Extracts a column definition from the result set. |
protected Map |
readColumns(ResultSet resultSet,
List columnDescriptors)
Reads the indicated columns from the result set. |
protected void |
readForeignKey(DatabaseMetaDataWrapper metaData,
Map values,
Map knownFks)
Reads the next foreign key spec from the result set. |
protected Collection |
readForeignKeys(DatabaseMetaDataWrapper metaData,
String tableName)
Retrieves the foreign keys of the indicated table. |
protected void |
readIndex(DatabaseMetaDataWrapper metaData,
Map values,
Map knownIndices)
Reads the next index spec from the result set. |
protected Collection |
readIndices(DatabaseMetaDataWrapper metaData,
String tableName)
Determines the indices for the indicated table. |
protected String |
readPrimaryKeyName(DatabaseMetaDataWrapper metaData,
Map values)
Extracts a primary key name from the result set. |
protected Collection |
readPrimaryKeyNames(DatabaseMetaDataWrapper metaData,
String tableName)
Retrieves the names of the columns that make up the primary key for a given table. |
protected Table |
readTable(DatabaseMetaDataWrapper metaData,
Map values)
Reads the next table from the meta data. |
protected Collection |
readTables(String catalog,
String schemaPattern,
String[] tableTypes)
Reads the tables from the database metadata. |
protected void |
removeInternalForeignKeyIndex(Table table,
ForeignKey fk)
Tries to remove the internal index for the given foreign key. |
protected void |
removeInternalPrimaryKeyIndex(Table table)
Tries to remove the internal index for the table's primary key. |
protected void |
removeSystemIndices(Table table)
Removes system indices (generated by the database for primary and foreign keys) from the table. |
void |
setDefaultCatalogPattern(String catalogPattern)
Sets the catalog(s) in the database to read per default. |
void |
setDefaultSchemaPattern(String schemaPattern)
Sets the schema(s) in the database to read per default. |
void |
setDefaultTablePattern(String tablePattern)
Sets the default pattern to read the relevant tables from the database. |
void |
setDefaultTableTypes(String[] types)
Sets the table types to recognize per default. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public JdbcModelReader(PlatformInfo platformInfo)
platformInfo
- The platform specific settingsMethod Detail |
public PlatformInfo getPlatformInfo()
protected List initColumnsForTable()
protected List initColumnsForColumn()
protected List initColumnsForPK()
protected List initColumnsForFK()
protected List initColumnsForIndex()
public String getDefaultCatalogPattern()
public void setDefaultCatalogPattern(String catalogPattern)
catalogPattern
- The catalog(s)public String getDefaultSchemaPattern()
public void setDefaultSchemaPattern(String schemaPattern)
schemaPattern
- The schema(s)public String getDefaultTablePattern()
public void setDefaultTablePattern(String tablePattern)
tablePattern
- The table patternpublic String[] getDefaultTableTypes()
public void setDefaultTableTypes(String[] types)
types
- The table typesprotected List getColumnsForTable()
protected List getColumnsForColumn()
protected List getColumnsForPK()
protected List getColumnsForFK()
protected List getColumnsForIndex()
protected Connection getConnection()
readTables(String, String, String[])
.
null
if there is no active connectionpublic Database getDatabase(Connection connection, String name) throws SQLException
connection
- The connectionname
- The name of the resulting database; null
when the default name (the catalog)
is desired which might be null
itself though
SQLException
public Database getDatabase(Connection connection, String name, String catalog, String schema, String[] tableTypes) throws SQLException
connection
- The connectionname
- The name of the resulting database; null
when the default name (the catalog)
is desired which might be null
itself thoughcatalog
- The catalog to acess in the database; use null
for the default valueschema
- The schema to acess in the database; use null
for the default valuetableTypes
- The table types to process; use null
or an empty list for the default ones
SQLException
protected Collection readTables(String catalog, String schemaPattern, String[] tableTypes) throws SQLException
catalog
- The catalog to acess in the database; use null
for the default valueschemaPattern
- The schema(s) to acess in the database; use null
for the default valuetableTypes
- The table types to process; use null
or an empty list for the default ones
SQLException
protected Table readTable(DatabaseMetaDataWrapper metaData, Map values) throws SQLException
metaData
- The database meta datavalues
- The table metadata values as defined by getColumnsForTable()
null
if the result set row did not contain a valid table
SQLException
protected void removeSystemIndices(Table table)
table
- The tableprotected void removeInternalPrimaryKeyIndex(Table table)
table
- The tableprotected void removeInternalForeignKeyIndex(Table table, ForeignKey fk)
table
- The table where the table is definedfk
- The foreign keyprotected boolean matches(Index index, List columnsToSearchFor)
index
- The indexcolumnsToSearchFor
- The names of the columns that the index should be for
true
if the index matches the columnsprotected boolean isInternalPrimaryKeyIndex(Table table, Index index)
table
- The table owning the indexindex
- The index to check
true
if the index seems to be an internal primary key oneprotected boolean isInternalForeignKeyIndex(Table table, ForeignKey fk, Index index)
table
- The table owning the index and foreign keyfk
- The foreign keyindex
- The index to check
true
if the index seems to be an internal primary key oneprotected Column readColumn(DatabaseMetaDataWrapper metaData, Map values) throws SQLException
metaData
- The database meta datavalues
- The column meta data values as defined by getColumnsForColumn()
SQLException
protected Collection readPrimaryKeyNames(DatabaseMetaDataWrapper metaData, String tableName) throws SQLException
metaData
- The database meta datatableName
- The name of the table from which to retrieve PK information
SQLException
protected String readPrimaryKeyName(DatabaseMetaDataWrapper metaData, Map values) throws SQLException
metaData
- The database meta datavalues
- The primary key meta data values as defined by getColumnsForPK()
SQLException
protected Collection readForeignKeys(DatabaseMetaDataWrapper metaData, String tableName) throws SQLException
metaData
- The database meta datatableName
- The name of the table from which to retrieve FK information
SQLException
protected void readForeignKey(DatabaseMetaDataWrapper metaData, Map values, Map knownFks) throws SQLException
metaData
- The database meta datavalues
- The foreign key meta data as defined by getColumnsForFK()
knownFks
- The already read foreign keys for the current table
SQLException
protected Collection readIndices(DatabaseMetaDataWrapper metaData, String tableName) throws SQLException
metaData
- The database meta datatableName
- The name of the table
SQLException
protected void readIndex(DatabaseMetaDataWrapper metaData, Map values, Map knownIndices) throws SQLException
metaData
- The database meta datavalues
- The index meta data as defined by getColumnsForIndex()
knownIndices
- The already read indices for the current table
SQLException
protected Map readColumns(ResultSet resultSet, List columnDescriptors) throws SQLException
resultSet
- The result setcolumnDescriptors
- The dscriptors of the columns to read
SQLException
protected void determineAutoIncrementFromResultSetMetaData(Table table, Column[] columnsToCheck) throws SQLException
ResultSetMetaData.isAutoIncrement(int)
method.
table
- The tablecolumnsToCheck
- The columns to check (e.g. the primary key columns)
SQLException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |