velosurf.sql
Class ReverseEngineer

java.lang.Object
  extended by velosurf.sql.ReverseEngineer

public class ReverseEngineer
extends java.lang.Object

Class used to reverse engine a database


Field Summary
private  Database db
           
static int DEFAULT_REVERSE_MODE
           
private  DriverInfo driverInfo
           
private  java.util.Map<java.lang.String,java.lang.String> entityByTableName
          map table->entity, valid only between readConfigFile and readMetaData
static int REVERSE_FULL
           
static int REVERSE_NONE
          reverse-enginering modes
static int REVERSE_PARTIAL
           
static int REVERSE_TABLES
           
private  int reverseMode
           
static java.lang.String[] reverseModeName
           
 
Constructor Summary
ReverseEngineer(Database database)
          constructor
 
Method Summary
private  java.lang.String adaptCase(java.lang.String name)
           
protected  void addCorrespondance(java.lang.String tableName, Entity entity)
           
private  void addExportedKey(Entity entity, java.lang.String fkSchema, java.lang.String fkTable, java.util.List<java.lang.String> fkCols, java.util.List<java.lang.String> pkCols)
           
private  void addImportedKey(Entity entity, java.lang.String pkSchema, java.lang.String pkTable, java.util.List<java.lang.String> pkCols, java.util.List<java.lang.String> fkCols)
           
private  java.lang.String getEntityByTable(java.lang.String schema, java.lang.String table)
           
private  java.lang.String getExportedKeyName(java.lang.String name)
           
private  void readForeignKeys(java.sql.DatabaseMetaData meta, Entity entity, java.lang.String tableName)
           
protected  void readMetaData()
          read the meta data from the database : reverse engeenering
private  void readTableMetaData(java.sql.DatabaseMetaData meta, Entity entity, java.lang.String tableName)
           
protected  void setDriverInfo(DriverInfo di)
           
protected  void setReverseMode(int reverseMethod)
           
private  java.util.List<java.lang.String> sortColumns(java.util.List<java.lang.String> ordered, java.util.List<java.lang.String> unordered, java.util.List<java.lang.String> target)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

entityByTableName

private java.util.Map<java.lang.String,java.lang.String> entityByTableName
map table->entity, valid only between readConfigFile and readMetaData


db

private Database db

driverInfo

private DriverInfo driverInfo

reverseMode

private int reverseMode

REVERSE_NONE

public static final int REVERSE_NONE
reverse-enginering modes

See Also:
Constant Field Values

REVERSE_PARTIAL

public static final int REVERSE_PARTIAL
See Also:
Constant Field Values

REVERSE_TABLES

public static final int REVERSE_TABLES
See Also:
Constant Field Values

REVERSE_FULL

public static final int REVERSE_FULL
See Also:
Constant Field Values

DEFAULT_REVERSE_MODE

public static final int DEFAULT_REVERSE_MODE
See Also:
Constant Field Values

reverseModeName

public static java.lang.String[] reverseModeName
Constructor Detail

ReverseEngineer

public ReverseEngineer(Database database)
constructor

Method Detail

setDriverInfo

protected void setDriverInfo(DriverInfo di)

setReverseMode

protected void setReverseMode(int reverseMethod)

addCorrespondance

protected void addCorrespondance(java.lang.String tableName,
                                 Entity entity)

readMetaData

protected void readMetaData()
                     throws java.sql.SQLException
read the meta data from the database : reverse engeenering

Throws:
java.sql.SQLException - thrown by the database engine

readTableMetaData

private void readTableMetaData(java.sql.DatabaseMetaData meta,
                               Entity entity,
                               java.lang.String tableName)
                        throws java.sql.SQLException
Throws:
java.sql.SQLException

readForeignKeys

private void readForeignKeys(java.sql.DatabaseMetaData meta,
                             Entity entity,
                             java.lang.String tableName)
                      throws java.sql.SQLException
Throws:
java.sql.SQLException

addExportedKey

private void addExportedKey(Entity entity,
                            java.lang.String fkSchema,
                            java.lang.String fkTable,
                            java.util.List<java.lang.String> fkCols,
                            java.util.List<java.lang.String> pkCols)

addImportedKey

private void addImportedKey(Entity entity,
                            java.lang.String pkSchema,
                            java.lang.String pkTable,
                            java.util.List<java.lang.String> pkCols,
                            java.util.List<java.lang.String> fkCols)

getEntityByTable

private java.lang.String getEntityByTable(java.lang.String schema,
                                          java.lang.String table)

sortColumns

private java.util.List<java.lang.String> sortColumns(java.util.List<java.lang.String> ordered,
                                                     java.util.List<java.lang.String> unordered,
                                                     java.util.List<java.lang.String> target)

adaptCase

private java.lang.String adaptCase(java.lang.String name)

getExportedKeyName

private java.lang.String getExportedKeyName(java.lang.String name)


~ooOoo~