org.jumpmind.db.platform
Class AbstractJdbcDdlReader

java.lang.Object
  extended by org.jumpmind.db.platform.AbstractJdbcDdlReader
All Implemented Interfaces:
IDdlReader
Direct Known Subclasses:
Db2DdlReader, DerbyDdlReader, FirebirdDdlReader, H2DdlReader, HsqlDb2DdlReader, HsqlDbDdlReader, InformixDdlReader, InterbaseDdlReader, MsSqlDdlReader, MySqlDdlReader, OracleDdlReader, PostgreSqlDdlReader, SybaseDdlReader

public abstract class AbstractJdbcDdlReader
extends Object
implements IDdlReader


Field Summary
protected  org.slf4j.Logger log
           
 
Constructor Summary
AbstractJdbcDdlReader(IDatabasePlatform platform)
           
 
Method Summary
 StringBuilder appendIdentifier(StringBuilder query, String identifier)
           
protected  void close(ResultSet rs)
           
protected  void close(Statement stmt)
           
protected  void determineAutoIncrementFromResultSetMetaData(Connection conn, Table table, Column[] columnsToCheck)
           
protected  void determineAutoIncrementFromResultSetMetaData(Connection conn, Table table, Column[] columnsToCheck, String catalogSeparator)
           
 List<String> getCatalogNames()
           
 List<String> getColumnNames(String catalog, String schema, String tableName)
           
protected  List<MetaDataColumnDescriptor> getColumnsForColumn()
           
protected  List<MetaDataColumnDescriptor> getColumnsForFK()
           
protected  List<MetaDataColumnDescriptor> getColumnsForIndex()
           
protected  List<MetaDataColumnDescriptor> getColumnsForPK()
           
protected  List<MetaDataColumnDescriptor> getColumnsForTable()
           
 Database getDatabase(Connection connection)
           
 String getDefaultCatalogPattern()
           
 String getDefaultColumnPattern()
           
 String getDefaultSchemaPattern()
           
 String getDefaultTablePattern()
           
 String[] getDefaultTableTypes()
           
 IDatabasePlatform getPlatform()
           
 DatabaseInfo getPlatformInfo()
           
protected  String getResultSetCatalogName()
           
protected  String getResultSetSchemaName()
           
 List<String> getSchemaNames(String catalog)
           
protected  String getTableNamePattern(String tableName)
           
 List<String> getTableNames(String catalog, String schema, String[] tableTypes)
           
protected  String[] getUnsupportedTableTypes()
           
protected  List<MetaDataColumnDescriptor> initColumnsForColumn()
           
protected  List<MetaDataColumnDescriptor> initColumnsForFK()
           
protected  List<MetaDataColumnDescriptor> initColumnsForIndex()
           
protected  List<MetaDataColumnDescriptor> initColumnsForPK()
           
protected  List<MetaDataColumnDescriptor> initColumnsForTable()
           
protected  boolean isInternalForeignKeyIndex(Connection connection, DatabaseMetaDataWrapper metaData, Table table, ForeignKey fk, IIndex index)
           
protected  boolean isInternalPrimaryKeyIndex(Connection connection, DatabaseMetaDataWrapper metaData, Table table, IIndex index)
           
protected  Integer mapUnknownJdbcTypeForColumn(Map<String,Object> values)
           
protected  boolean matches(IIndex index, List<String> columnsToSearchFor)
           
protected  Database postprocessModelFromDatabase(Database model)
           
protected  Table postprocessTableFromDatabase(Table table)
           
protected  Column readColumn(DatabaseMetaDataWrapper metaData, Map<String,Object> values)
           
protected  Collection<Column> readColumns(DatabaseMetaDataWrapper metaData, String tableName)
           
protected  void readForeignKey(DatabaseMetaDataWrapper metaData, Map<String,Object> values, Map<String,ForeignKey> knownFks)
           
protected  Collection<ForeignKey> readForeignKeys(Connection connection, DatabaseMetaDataWrapper metaData, String tableName)
           
protected  void readIndex(DatabaseMetaDataWrapper metaData, Map<String,Object> values, Map<String,IIndex> knownIndices)
           
protected  Collection<IIndex> readIndices(Connection connection, DatabaseMetaDataWrapper metaData, String tableName)
           
protected  Map<String,Object> readMetaData(ResultSet resultSet, List<MetaDataColumnDescriptor> columnDescriptors)
           
protected  String readPrimaryKeyName(DatabaseMetaDataWrapper metaData, Map<String,Object> values)
           
protected  Collection<String> readPrimaryKeyNames(DatabaseMetaDataWrapper metaData, String tableName)
           
protected  Table readTable(Connection connection, DatabaseMetaDataWrapper metaData, Map<String,Object> values)
           
 Table readTable(String catalog, String schema, String table)
           
protected  Collection<Table> readTables(Connection connection, String catalog, String schemaPattern, String[] tableTypes)
           
 Database readTables(String catalog, String schema, String[] tableTypes)
           
protected  void removeInternalForeignKeyIndex(Connection connection, DatabaseMetaDataWrapper metaData, Table table, ForeignKey fk)
           
protected  void removeInternalPrimaryKeyIndex(Connection connection, DatabaseMetaDataWrapper metaData, Table table)
           
protected  void removeSystemIndices(Connection connection, DatabaseMetaDataWrapper metaData, Table table)
           
 void setDefaultCatalogPattern(String catalogPattern)
           
 void setDefaultColumnPattern(String columnPattern)
           
 void setDefaultSchemaPattern(String schemaPattern)
           
 void setDefaultTablePattern(String tablePattern)
           
 void setDefaultTableTypes(String[] types)
           
protected  String unescape(String text, String unescaped, String escaped)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected org.slf4j.Logger log
Constructor Detail

AbstractJdbcDdlReader

public AbstractJdbcDdlReader(IDatabasePlatform platform)
Method Detail

getPlatform

public IDatabasePlatform getPlatform()

getPlatformInfo

public DatabaseInfo getPlatformInfo()

initColumnsForTable

protected List<MetaDataColumnDescriptor> initColumnsForTable()

initColumnsForColumn

protected List<MetaDataColumnDescriptor> initColumnsForColumn()

initColumnsForPK

protected List<MetaDataColumnDescriptor> initColumnsForPK()

initColumnsForFK

protected List<MetaDataColumnDescriptor> initColumnsForFK()

initColumnsForIndex

protected List<MetaDataColumnDescriptor> initColumnsForIndex()

getDefaultCatalogPattern

public String getDefaultCatalogPattern()

setDefaultCatalogPattern

public void setDefaultCatalogPattern(String catalogPattern)

getDefaultSchemaPattern

public String getDefaultSchemaPattern()

setDefaultSchemaPattern

public void setDefaultSchemaPattern(String schemaPattern)

getDefaultTablePattern

public String getDefaultTablePattern()

setDefaultTablePattern

public void setDefaultTablePattern(String tablePattern)

getDefaultColumnPattern

public String getDefaultColumnPattern()

setDefaultColumnPattern

public void setDefaultColumnPattern(String columnPattern)

getDefaultTableTypes

public String[] getDefaultTableTypes()

setDefaultTableTypes

public void setDefaultTableTypes(String[] types)

getColumnsForTable

protected List<MetaDataColumnDescriptor> getColumnsForTable()

getColumnsForColumn

protected List<MetaDataColumnDescriptor> getColumnsForColumn()

getColumnsForPK

protected List<MetaDataColumnDescriptor> getColumnsForPK()

getColumnsForFK

protected List<MetaDataColumnDescriptor> getColumnsForFK()

getColumnsForIndex

protected List<MetaDataColumnDescriptor> getColumnsForIndex()

getDatabase

public Database getDatabase(Connection connection)
                     throws SQLException
Throws:
SQLException

getResultSetSchemaName

protected String getResultSetSchemaName()

getResultSetCatalogName

protected String getResultSetCatalogName()

readTables

public Database readTables(String catalog,
                           String schema,
                           String[] tableTypes)
Specified by:
readTables in interface IDdlReader

postprocessModelFromDatabase

protected Database postprocessModelFromDatabase(Database model)

readTables

protected Collection<Table> readTables(Connection connection,
                                       String catalog,
                                       String schemaPattern,
                                       String[] tableTypes)
                                throws SQLException
Throws:
SQLException

readTable

public Table readTable(String catalog,
                       String schema,
                       String table)
Specified by:
readTable in interface IDdlReader

postprocessTableFromDatabase

protected Table postprocessTableFromDatabase(Table table)

close

protected void close(ResultSet rs)

close

protected void close(Statement stmt)

getTableNamePattern

protected String getTableNamePattern(String tableName)

readTable

protected Table readTable(Connection connection,
                          DatabaseMetaDataWrapper metaData,
                          Map<String,Object> values)
                   throws SQLException
Throws:
SQLException

getUnsupportedTableTypes

protected String[] getUnsupportedTableTypes()

removeSystemIndices

protected void removeSystemIndices(Connection connection,
                                   DatabaseMetaDataWrapper metaData,
                                   Table table)
                            throws SQLException
Throws:
SQLException

removeInternalPrimaryKeyIndex

protected void removeInternalPrimaryKeyIndex(Connection connection,
                                             DatabaseMetaDataWrapper metaData,
                                             Table table)
                                      throws SQLException
Throws:
SQLException

removeInternalForeignKeyIndex

protected void removeInternalForeignKeyIndex(Connection connection,
                                             DatabaseMetaDataWrapper metaData,
                                             Table table,
                                             ForeignKey fk)
                                      throws SQLException
Throws:
SQLException

matches

protected boolean matches(IIndex index,
                          List<String> columnsToSearchFor)

isInternalPrimaryKeyIndex

protected boolean isInternalPrimaryKeyIndex(Connection connection,
                                            DatabaseMetaDataWrapper metaData,
                                            Table table,
                                            IIndex index)
                                     throws SQLException
Throws:
SQLException

isInternalForeignKeyIndex

protected boolean isInternalForeignKeyIndex(Connection connection,
                                            DatabaseMetaDataWrapper metaData,
                                            Table table,
                                            ForeignKey fk,
                                            IIndex index)
                                     throws SQLException
Throws:
SQLException

readColumns

protected Collection<Column> readColumns(DatabaseMetaDataWrapper metaData,
                                         String tableName)
                                  throws SQLException
Throws:
SQLException

mapUnknownJdbcTypeForColumn

protected Integer mapUnknownJdbcTypeForColumn(Map<String,Object> values)

readColumn

protected Column readColumn(DatabaseMetaDataWrapper metaData,
                            Map<String,Object> values)
                     throws SQLException
Throws:
SQLException

readPrimaryKeyNames

protected Collection<String> readPrimaryKeyNames(DatabaseMetaDataWrapper metaData,
                                                 String tableName)
                                          throws SQLException
Throws:
SQLException

readPrimaryKeyName

protected String readPrimaryKeyName(DatabaseMetaDataWrapper metaData,
                                    Map<String,Object> values)
                             throws SQLException
Throws:
SQLException

readForeignKeys

protected Collection<ForeignKey> readForeignKeys(Connection connection,
                                                 DatabaseMetaDataWrapper metaData,
                                                 String tableName)
                                          throws SQLException
Throws:
SQLException

readForeignKey

protected void readForeignKey(DatabaseMetaDataWrapper metaData,
                              Map<String,Object> values,
                              Map<String,ForeignKey> knownFks)
                       throws SQLException
Throws:
SQLException

readIndices

protected Collection<IIndex> readIndices(Connection connection,
                                         DatabaseMetaDataWrapper metaData,
                                         String tableName)
                                  throws SQLException
Throws:
SQLException

readIndex

protected void readIndex(DatabaseMetaDataWrapper metaData,
                         Map<String,Object> values,
                         Map<String,IIndex> knownIndices)
                  throws SQLException
Throws:
SQLException

readMetaData

protected Map<String,Object> readMetaData(ResultSet resultSet,
                                          List<MetaDataColumnDescriptor> columnDescriptors)
                                   throws SQLException
Throws:
SQLException

determineAutoIncrementFromResultSetMetaData

protected void determineAutoIncrementFromResultSetMetaData(Connection conn,
                                                           Table table,
                                                           Column[] columnsToCheck)
                                                    throws SQLException
Throws:
SQLException

determineAutoIncrementFromResultSetMetaData

protected void determineAutoIncrementFromResultSetMetaData(Connection conn,
                                                           Table table,
                                                           Column[] columnsToCheck,
                                                           String catalogSeparator)
                                                    throws SQLException
Throws:
SQLException

appendIdentifier

public StringBuilder appendIdentifier(StringBuilder query,
                                      String identifier)

unescape

protected String unescape(String text,
                          String unescaped,
                          String escaped)

getCatalogNames

public List<String> getCatalogNames()
Specified by:
getCatalogNames in interface IDdlReader

getSchemaNames

public List<String> getSchemaNames(String catalog)
Specified by:
getSchemaNames in interface IDdlReader

getTableNames

public List<String> getTableNames(String catalog,
                                  String schema,
                                  String[] tableTypes)
Specified by:
getTableNames in interface IDdlReader

getColumnNames

public List<String> getColumnNames(String catalog,
                                   String schema,
                                   String tableName)
Specified by:
getColumnNames in interface IDdlReader


Copyright © 2007-2013 JumpMind, Inc.. All Rights Reserved.