wt.tools.generation.sql
Class SQLGenerator
java.lang.Object
wt.tools.generation.sql.SQLGenerator
- Direct Known Subclasses:
- OracleSQLGenerator, SQLServerSQLGenerator
- public abstract class SQLGenerator
- extends Object
Construct a block of sql code to create a table
Method Summary |
void |
createAllClassesTriggerConstraintItems(ClassInfo a_classInfo,
DatabaseInfo a_dbInfo,
StringBuffer create_buffer,
StringBuffer drop_buffer)
|
void |
createAlterTableAddColumns(BaseTableInfo a_baseTableInfo,
StringBuffer a_buffer)
|
void |
createAlterTableDropColumns(BaseTableInfo a_baseTableInfo,
StringBuffer a_buffer)
|
String |
createArray(String a_arrayName,
String a_arrayType)
|
abstract void |
createColumnIndex(String a_className,
DatabaseInfo a_dbInfo,
StringBuffer a_buffer)
|
void |
createFKConstraintItems(LinkInfo a_linkInfo,
DatabaseInfo a_dbInfo,
HashMap createMap)
|
void |
createFKConstraintItems(LinkInfo a_linkInfo,
DatabaseInfo a_dbInfo,
StringBuffer create_buffer,
StringBuffer drop_buffer)
|
void |
createFKConstraintItems(LinkInfo a_linkInfo,
DatabaseInfo a_dbInfo,
StringBuffer create_buffer,
StringBuffer drop_buffer,
HashMap createMap)
|
void |
createFKConstraints(String a_constraintName,
String a_linkClassTableName,
List linkColumnNames,
String a_roleClassTableName,
List roleColumnNames,
boolean a_isOwner,
boolean a_isLinkTable,
StringBuffer a_buffer)
|
void |
createIndex(BaseTableInfo a_tableInfo,
String[] a_columns,
boolean a_isUnique,
String a_indexName,
StringBuffer a_buffer)
This method constructs the clause to create an index |
String |
createIndexItems(String a_className,
DatabaseInfo a_dbInfo)
|
protected void |
createIndexOption(BaseTableInfo a_tableInfo,
StringBuffer a_buffer)
|
abstract void |
createIndicies(BaseTableInfo a_baseTableInfo,
String[][] a_indexColumns,
boolean a_isUnique,
StringBuffer a_buffer)
|
void |
createLinkSpecificTriggerConstraintItems(LinkInfo a_linkInfo,
DatabaseInfo a_dbInfo,
StringBuffer create_buffer,
StringBuffer drop_buffer)
|
void |
createLinkTriggerConstraintItems(DatabaseInfo a_dbInfo,
LinkInfo a_linkInfo,
String propertyName,
StringBuffer create_buffer,
StringBuffer drop_buffer)
|
void |
createRoleFKConstraintItems(DatabaseInfo a_dbInfo,
RoleDescriptor a_roleDescriptor,
String propertyName,
String referenceType,
boolean isLinkTable,
StringBuffer create_buffer,
StringBuffer drop_buffer,
HashMap createMap)
|
void |
createRoleTriggerConstraintItems(DatabaseInfo a_dbInfo,
RoleDescriptor a_roleDescriptor,
String role_side,
StringBuffer create_buffer,
StringBuffer drop_buffer)
|
String |
createSequence(String a_sequenceName,
String a_seed,
String a_increment)
|
long |
createStruct(String a_structName,
StringBuffer a_buffer,
ClassInfo a_classInfo,
DatabaseInfo a_dbInfo)
|
abstract void |
createTable(String a_className,
ClassInfo a_classInfo,
DatabaseInfo a_dbInfo,
StringBuffer a_buffer)
|
String |
createTableItems(String a_className,
DatabaseInfo a_dbInfo)
|
void |
createTriggerConstraintItems(ClassInfo a_classInfo,
DatabaseInfo a_dbInfo,
StringBuffer create_buffer)
|
void |
createTriggerConstraints_removeLink(String roleClassTableName,
String linkTablesList,
String linkColumnName,
boolean isLinkTable,
StringBuffer create_buffer,
StringBuffer drop_buffer)
|
void |
createTriggerConstraints_removeRole(String linkClassTableName,
List roleTablesList,
String refColumnName,
StringBuffer create_buffer,
StringBuffer drop_buffer)
|
String |
createTriggerItems(String a_className,
DatabaseInfo a_dbInfo)
|
String |
createView(DatabaseInfo a_dbInfo)
|
String |
dropArray(String a_className,
StringBuffer a_buffer)
|
abstract void |
dropColumnIndex(String a_className,
DatabaseInfo a_dbInfo,
StringBuffer a_buffer)
|
void |
dropFKConstraints(String a_constraintName,
String a_linkClassTableName,
StringBuffer a_buffer)
|
abstract void |
dropIndex(BaseTableInfo a_tableInfo,
String[] a_columns,
boolean a_isUnique,
String a_indexName,
StringBuffer a_buffer)
|
String |
dropIndexItems(String a_className,
DatabaseInfo a_dbInfo)
|
abstract void |
dropIndicies(BaseTableInfo a_baseTableInfo,
String[][] a_indexColumns,
boolean a_isUnique,
StringBuffer a_buffer)
|
String |
dropSequence(String a_sequenceName,
StringBuffer a_buffer)
|
String |
dropStruct(String a_className,
StringBuffer a_buffer)
|
abstract String |
dropTable(String a_tableName,
StringBuffer a_buffer)
|
String |
dropTriggerItems(String a_className,
DatabaseInfo a_dbInfo)
|
String |
dropView(String a_tableName,
StringBuffer a_buffer)
|
protected String |
getAdjustedName(String name,
int maxLength)
|
protected abstract String |
getCommitDelimiter()
|
ColumnDescriptor[] |
getComputedColumns(BaseTableInfo a_tableInfo)
|
String[][] |
getComputedIndexColumns(String[][] a_indexColumns,
boolean a_isUnique)
|
List |
getDescendentTables(RoleDescriptor a_roleDescriptor)
|
abstract String[] |
getIndexColumns(BaseTableInfo a_tableInfo,
String[] a_indexColumns,
boolean a_isUnique,
int a_indexOffset)
|
protected String |
getIndexName(BaseTableInfo a_tableInfo,
boolean a_isUnique,
String a_indexName)
|
protected abstract int |
getMaxIndexNameLength()
|
protected Map |
getProcessedLinkInfos()
|
abstract String |
getSQLTypeAsString(int sql_type,
int string_length)
|
ColumnDescriptor[] |
getTableColumns(BaseTableInfo a_tableInfo)
|
HashSet |
getTriggerNameList(BaseTableInfo tableInfo)
|
protected abstract Map |
getUniqueNames()
|
HashSet |
getUpdateColumnList(BaseTableInfo tableInfo)
|
boolean |
isComputedColumn(String colName,
String[] allColumnNames)
|
protected abstract boolean |
isReservedWord(String a_name)
|
abstract boolean |
isSQLTypeBlob(int sql_type)
|
protected abstract void |
preCreateView(String a_viewName,
StringBuffer a_buffer)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DB_DELIMITER
protected static final char DB_DELIMITER
- See Also:
- Constant Field Values
COMMA_DELIMITER
protected static final char COMMA_DELIMITER
- See Also:
- Constant Field Values
PROCESSED_LINKINFOS
private static final HashMap PROCESSED_LINKINFOS
SQLGenerator
public SQLGenerator()
createTable
public abstract void createTable(String a_className,
ClassInfo a_classInfo,
DatabaseInfo a_dbInfo,
StringBuffer a_buffer)
throws WTException
- Throws:
WTException
createColumnIndex
public abstract void createColumnIndex(String a_className,
DatabaseInfo a_dbInfo,
StringBuffer a_buffer)
throws WTException
- Throws:
WTException
dropColumnIndex
public abstract void dropColumnIndex(String a_className,
DatabaseInfo a_dbInfo,
StringBuffer a_buffer)
throws WTException
- Throws:
WTException
dropTable
public abstract String dropTable(String a_tableName,
StringBuffer a_buffer)
preCreateView
protected abstract void preCreateView(String a_viewName,
StringBuffer a_buffer)
getCommitDelimiter
protected abstract String getCommitDelimiter()
getMaxIndexNameLength
protected abstract int getMaxIndexNameLength()
getUniqueNames
protected abstract Map getUniqueNames()
isReservedWord
protected abstract boolean isReservedWord(String a_name)
getProcessedLinkInfos
protected Map getProcessedLinkInfos()
getTableColumns
public ColumnDescriptor[] getTableColumns(BaseTableInfo a_tableInfo)
throws WTException
- Throws:
WTException
createTriggerItems
public String createTriggerItems(String a_className,
DatabaseInfo a_dbInfo)
throws WTException
- Throws:
WTException
dropTriggerItems
public String dropTriggerItems(String a_className,
DatabaseInfo a_dbInfo)
throws WTException
- Throws:
WTException
createStruct
public long createStruct(String a_structName,
StringBuffer a_buffer,
ClassInfo a_classInfo,
DatabaseInfo a_dbInfo)
throws WTException
- Throws:
WTException
dropStruct
public String dropStruct(String a_className,
StringBuffer a_buffer)
throws WTException
- Throws:
WTException
createArray
public String createArray(String a_arrayName,
String a_arrayType)
throws WTException
- Throws:
WTException
dropArray
public String dropArray(String a_className,
StringBuffer a_buffer)
throws WTException
- Throws:
WTException
createSequence
public String createSequence(String a_sequenceName,
String a_seed,
String a_increment)
throws WTException
- Throws:
WTException
dropSequence
public String dropSequence(String a_sequenceName,
StringBuffer a_buffer)
throws WTException
- Throws:
WTException
createFKConstraints
public void createFKConstraints(String a_constraintName,
String a_linkClassTableName,
List linkColumnNames,
String a_roleClassTableName,
List roleColumnNames,
boolean a_isOwner,
boolean a_isLinkTable,
StringBuffer a_buffer)
throws WTException
- Throws:
WTException
dropFKConstraints
public void dropFKConstraints(String a_constraintName,
String a_linkClassTableName,
StringBuffer a_buffer)
throws WTException
- Throws:
WTException
createTriggerConstraints_removeRole
public void createTriggerConstraints_removeRole(String linkClassTableName,
List roleTablesList,
String refColumnName,
StringBuffer create_buffer,
StringBuffer drop_buffer)
throws WTException
- Throws:
WTException
createTriggerConstraints_removeLink
public void createTriggerConstraints_removeLink(String roleClassTableName,
String linkTablesList,
String linkColumnName,
boolean isLinkTable,
StringBuffer create_buffer,
StringBuffer drop_buffer)
throws WTException
- Throws:
WTException
getComputedColumns
public ColumnDescriptor[] getComputedColumns(BaseTableInfo a_tableInfo)
throws WTException
- Throws:
WTException
isComputedColumn
public boolean isComputedColumn(String colName,
String[] allColumnNames)
createTableItems
public String createTableItems(String a_className,
DatabaseInfo a_dbInfo)
throws WTException
- Throws:
WTException
createAlterTableAddColumns
public void createAlterTableAddColumns(BaseTableInfo a_baseTableInfo,
StringBuffer a_buffer)
throws WTException
- Throws:
WTException
createAlterTableDropColumns
public void createAlterTableDropColumns(BaseTableInfo a_baseTableInfo,
StringBuffer a_buffer)
throws WTException
- Throws:
WTException
createIndexItems
public String createIndexItems(String a_className,
DatabaseInfo a_dbInfo)
throws WTException
- Throws:
WTException
dropIndexItems
public String dropIndexItems(String a_className,
DatabaseInfo a_dbInfo)
throws WTException
- Throws:
WTException
createFKConstraintItems
public void createFKConstraintItems(LinkInfo a_linkInfo,
DatabaseInfo a_dbInfo,
HashMap createMap)
throws WTException
- Throws:
WTException
createFKConstraintItems
public void createFKConstraintItems(LinkInfo a_linkInfo,
DatabaseInfo a_dbInfo,
StringBuffer create_buffer,
StringBuffer drop_buffer)
throws WTException
- Throws:
WTException
createFKConstraintItems
public void createFKConstraintItems(LinkInfo a_linkInfo,
DatabaseInfo a_dbInfo,
StringBuffer create_buffer,
StringBuffer drop_buffer,
HashMap createMap)
throws WTException
- Throws:
WTException
createRoleFKConstraintItems
public void createRoleFKConstraintItems(DatabaseInfo a_dbInfo,
RoleDescriptor a_roleDescriptor,
String propertyName,
String referenceType,
boolean isLinkTable,
StringBuffer create_buffer,
StringBuffer drop_buffer,
HashMap createMap)
throws WTException
- Throws:
WTException
createTriggerConstraintItems
public void createTriggerConstraintItems(ClassInfo a_classInfo,
DatabaseInfo a_dbInfo,
StringBuffer create_buffer)
throws WTException
- Throws:
WTException
createAllClassesTriggerConstraintItems
public void createAllClassesTriggerConstraintItems(ClassInfo a_classInfo,
DatabaseInfo a_dbInfo,
StringBuffer create_buffer,
StringBuffer drop_buffer)
throws WTException
- Throws:
WTException
createLinkTriggerConstraintItems
public void createLinkTriggerConstraintItems(DatabaseInfo a_dbInfo,
LinkInfo a_linkInfo,
String propertyName,
StringBuffer create_buffer,
StringBuffer drop_buffer)
throws WTException
- Throws:
WTException
createLinkSpecificTriggerConstraintItems
public void createLinkSpecificTriggerConstraintItems(LinkInfo a_linkInfo,
DatabaseInfo a_dbInfo,
StringBuffer create_buffer,
StringBuffer drop_buffer)
throws WTException
- Throws:
WTException
createRoleTriggerConstraintItems
public void createRoleTriggerConstraintItems(DatabaseInfo a_dbInfo,
RoleDescriptor a_roleDescriptor,
String role_side,
StringBuffer create_buffer,
StringBuffer drop_buffer)
throws WTException
- Throws:
WTException
getDescendentTables
public List getDescendentTables(RoleDescriptor a_roleDescriptor)
throws WTException
- Throws:
WTException
getIndexColumns
public abstract String[] getIndexColumns(BaseTableInfo a_tableInfo,
String[] a_indexColumns,
boolean a_isUnique,
int a_indexOffset)
getComputedIndexColumns
public String[][] getComputedIndexColumns(String[][] a_indexColumns,
boolean a_isUnique)
createIndicies
public abstract void createIndicies(BaseTableInfo a_baseTableInfo,
String[][] a_indexColumns,
boolean a_isUnique,
StringBuffer a_buffer)
throws WTException
- Throws:
WTException
dropIndicies
public abstract void dropIndicies(BaseTableInfo a_baseTableInfo,
String[][] a_indexColumns,
boolean a_isUnique,
StringBuffer a_buffer)
throws WTException
- Throws:
WTException
createIndex
public void createIndex(BaseTableInfo a_tableInfo,
String[] a_columns,
boolean a_isUnique,
String a_indexName,
StringBuffer a_buffer)
- This method constructs the clause to create an index
dropIndex
public abstract void dropIndex(BaseTableInfo a_tableInfo,
String[] a_columns,
boolean a_isUnique,
String a_indexName,
StringBuffer a_buffer)
createView
public String createView(DatabaseInfo a_dbInfo)
throws WTException
- Throws:
WTException
dropView
public String dropView(String a_tableName,
StringBuffer a_buffer)
createIndexOption
protected void createIndexOption(BaseTableInfo a_tableInfo,
StringBuffer a_buffer)
getAdjustedName
protected String getAdjustedName(String name,
int maxLength)
getIndexName
protected String getIndexName(BaseTableInfo a_tableInfo,
boolean a_isUnique,
String a_indexName)
isSQLTypeBlob
public abstract boolean isSQLTypeBlob(int sql_type)
getSQLTypeAsString
public abstract String getSQLTypeAsString(int sql_type,
int string_length)
getUpdateColumnList
public HashSet getUpdateColumnList(BaseTableInfo tableInfo)
throws WTException
- Throws:
WTException
getTriggerNameList
public HashSet getTriggerNameList(BaseTableInfo tableInfo)
throws WTException
- Throws:
WTException