org.apache.ws.jaxme.sqls.impl

Class SQLGeneratorImpl

public class SQLGeneratorImpl extends Object implements SQLGenerator

Default implementation of an SQL generator.

Author: Jochen Wiedmann

Method Summary
protected StringcreateForeignKeyAsPartOfCreateTable(ForeignKey pKey)
protected StringcreateIndexAsPartOfCreateTable(Index pIndex)
protected StringcreatePrimaryKeyAsPartOfCreateTable(Table pTable)
protected StringgetBooleanConstraint(StatementMetaData pData, BooleanConstraint pConstraint)
protected StringgetBooleanConstraintPart(StatementMetaData pData, Object o)
protected StringgetBooleanConstraintType(BooleanConstraint.Type pType)
protected StringgetCase(StatementMetaData pData, Case pCase)
protected StringgetColumnAlias(StatementMetaData pData, ColumnReference pColumn)
protected StringgetColumnAlias(StatementMetaData pData, ColumnReference[] pColumn)
protected StringgetCombinedConstraint(StatementMetaData pData, CombinedConstraint pConstraint)
StringgetConstraint(StatementMetaData pData, Constraint pConstraint)
StringgetConstraint(Constraint pConstraint)
CollectiongetCreate(Schema pSchema)
protected StringgetCreate(Column pColumn)
CollectiongetCreate(Table pTable)
CollectiongetCreate(Schema pSchema, boolean pAll)
CollectiongetCreate(Table pTable, boolean pAll)
CollectiongetCreate(Index pIndex)
CollectiongetCreate(ForeignKey pKey)
protected StringgetCreateTableHeader(Table pTable)
protected StringgetDeleteQuery(DeleteStatement pQuery)
CollectiongetDrop(Schema pSchema)
CollectiongetDrop(Table pTable)
CollectiongetDrop(Schema pSchema, boolean pAll)
CollectiongetDrop(Table pTable, boolean pAll)
CollectiongetDrop(Index pIndex)
CollectiongetDrop(ForeignKey pKey)
protected StringgetEscapedString(String s)
protected StringgetExpression(StatementMetaData pData, Expression pExpr)
protected StringgetFunction(StatementMetaData pData, Function f)
protected StringgetIndent()
StringgetInsertQuery(InsertStatement pQuery)
protected StringgetJoinAlias(StatementMetaData pData, JoinReference pJoinReference)
StringgetLineTerminator()
protected StringgetOrderColumn(StatementMetaData pData, SelectStatement.OrderColumn pColumn)
protected StringgetParts(StatementMetaData pData, Iterator pParts)
StringgetQuery(Statement pStatement)
protected StringgetSelectQuery(SelectStatement pQuery)
protected StringgetSelectQuery(SelectStatement pQuery, StatementMetaData pData)
protected StringgetSelectQueryConstraints(SelectStatement pQuery, StatementMetaData pData, StatementMetaData.LocalData pLocalData)
protected StringgetSelectQueryFromClause(SelectStatement pQuery, StatementMetaData pData)
protected StringgetSelectQueryOrderClause(StatementMetaData pData, SelectStatement pQuery)
protected StringgetSelectQueryResultColumns(SelectStatement pQuery, StatementMetaData pData)
StringgetStatementTerminator()
protected StringgetTableAlias(StatementMetaData pData, TableReference pTable)
protected StringgetTypeName(Column.Type pType)
protected StringgetUpdateQuery(UpdateStatement pQuery)
protected StringgetValue(Value pValue)
protected StringgetWhereClause(StatementMetaData pData, CombinedConstraint pWhereClause)
StringgetWhereClause(SelectStatement pQuery)
protected booleanisForeignKeyPartOfCreateTable()

Returns whether a CREATE TABLE statement may contain a FOREIGN KEY clause.

protected booleanisNonUniqueIndexPartOfCreateTable()

Returns whether a CREATE TABLE statement may contain an INDEX clause.

protected booleanisPrimaryKeyPartOfCreateTable()

Returns whether a CREATE TABLE statement may contain a PRIMARY KEY clause.

protected booleanisPrimaryKeyUniqueIndex()

Returns whether the primary key requires special handling (in which case {@link #isPrimaryKeyPartOfCreateTable()} and {@link #createPrimaryKeyAsPartOfCreateTable(Table)} are used) or nor (in which case {@link #isUniqueIndexPartOfCreateTable()} and {@link #createIndexAsPartOfCreateTable(Index)} apply).

protected booleanisQualifiedColumn(StatementMetaData pData, ColumnReference pColumn)
protected booleanisTableAliasUsingAs()
protected booleanisUniqueIndexPartOfCreateTable()

Returns whether a CREATE TABLE statement may contain a UNIQUE clause.

protected StringnewStatement(String pStatement)
protected StatementMetaDatanewStatementMetaData(SelectStatement pQuery)
protected StatementMetaDatanewStatementMetaData(DeleteStatement pQuery)
protected StatementMetaDatanewStatementMetaData(UpdateStatement pQuery, ColumnReference[] pColumns)
protected StatementMetaDatanewStatementMetaData(InsertStatement pQuery, ColumnReference[] pColumns)
voidsetLineTerminator(String pLineTerminator)
voidsetStatementTerminator(String pStatementTerminator)

Method Detail

createForeignKeyAsPartOfCreateTable

protected String createForeignKeyAsPartOfCreateTable(ForeignKey pKey)

createIndexAsPartOfCreateTable

protected String createIndexAsPartOfCreateTable(Index pIndex)

createPrimaryKeyAsPartOfCreateTable

protected String createPrimaryKeyAsPartOfCreateTable(Table pTable)

getBooleanConstraint

protected String getBooleanConstraint(StatementMetaData pData, BooleanConstraint pConstraint)

getBooleanConstraintPart

protected String getBooleanConstraintPart(StatementMetaData pData, Object o)

getBooleanConstraintType

protected String getBooleanConstraintType(BooleanConstraint.Type pType)

getCase

protected String getCase(StatementMetaData pData, Case pCase)

getColumnAlias

protected String getColumnAlias(StatementMetaData pData, ColumnReference pColumn)

getColumnAlias

protected String getColumnAlias(StatementMetaData pData, ColumnReference[] pColumn)

getCombinedConstraint

protected String getCombinedConstraint(StatementMetaData pData, CombinedConstraint pConstraint)

getConstraint

public String getConstraint(StatementMetaData pData, Constraint pConstraint)

getConstraint

public String getConstraint(Constraint pConstraint)

getCreate

public Collection getCreate(Schema pSchema)

getCreate

protected String getCreate(Column pColumn)

getCreate

public Collection getCreate(Table pTable)

getCreate

public Collection getCreate(Schema pSchema, boolean pAll)

getCreate

public Collection getCreate(Table pTable, boolean pAll)

getCreate

public Collection getCreate(Index pIndex)

getCreate

public Collection getCreate(ForeignKey pKey)

getCreateTableHeader

protected String getCreateTableHeader(Table pTable)

getDeleteQuery

protected String getDeleteQuery(DeleteStatement pQuery)

getDrop

public Collection getDrop(Schema pSchema)

getDrop

public Collection getDrop(Table pTable)

getDrop

public Collection getDrop(Schema pSchema, boolean pAll)

getDrop

public Collection getDrop(Table pTable, boolean pAll)

getDrop

public Collection getDrop(Index pIndex)

getDrop

public Collection getDrop(ForeignKey pKey)

getEscapedString

protected String getEscapedString(String s)

getExpression

protected String getExpression(StatementMetaData pData, Expression pExpr)

getFunction

protected String getFunction(StatementMetaData pData, Function f)

getIndent

protected String getIndent()

getInsertQuery

public String getInsertQuery(InsertStatement pQuery)

getJoinAlias

protected String getJoinAlias(StatementMetaData pData, JoinReference pJoinReference)

getLineTerminator

public String getLineTerminator()

getOrderColumn

protected String getOrderColumn(StatementMetaData pData, SelectStatement.OrderColumn pColumn)

getParts

protected String getParts(StatementMetaData pData, Iterator pParts)

getQuery

public String getQuery(Statement pStatement)

getSelectQuery

protected String getSelectQuery(SelectStatement pQuery)

getSelectQuery

protected String getSelectQuery(SelectStatement pQuery, StatementMetaData pData)

getSelectQueryConstraints

protected String getSelectQueryConstraints(SelectStatement pQuery, StatementMetaData pData, StatementMetaData.LocalData pLocalData)

getSelectQueryFromClause

protected String getSelectQueryFromClause(SelectStatement pQuery, StatementMetaData pData)

getSelectQueryOrderClause

protected String getSelectQueryOrderClause(StatementMetaData pData, SelectStatement pQuery)

getSelectQueryResultColumns

protected String getSelectQueryResultColumns(SelectStatement pQuery, StatementMetaData pData)

getStatementTerminator

public String getStatementTerminator()

getTableAlias

protected String getTableAlias(StatementMetaData pData, TableReference pTable)

getTypeName

protected String getTypeName(Column.Type pType)

getUpdateQuery

protected String getUpdateQuery(UpdateStatement pQuery)

getValue

protected String getValue(Value pValue)

getWhereClause

protected String getWhereClause(StatementMetaData pData, CombinedConstraint pWhereClause)

getWhereClause

public String getWhereClause(SelectStatement pQuery)

isForeignKeyPartOfCreateTable

protected boolean isForeignKeyPartOfCreateTable()

Returns whether a CREATE TABLE statement may contain a FOREIGN KEY clause.

isNonUniqueIndexPartOfCreateTable

protected boolean isNonUniqueIndexPartOfCreateTable()

Returns whether a CREATE TABLE statement may contain an INDEX clause.

isPrimaryKeyPartOfCreateTable

protected boolean isPrimaryKeyPartOfCreateTable()

Returns whether a CREATE TABLE statement may contain a PRIMARY KEY clause.

isPrimaryKeyUniqueIndex

protected boolean isPrimaryKeyUniqueIndex()

Returns whether the primary key requires special handling (in which case {@link #isPrimaryKeyPartOfCreateTable()} and {@link #createPrimaryKeyAsPartOfCreateTable(Table)} are used) or nor (in which case {@link #isUniqueIndexPartOfCreateTable()} and {@link #createIndexAsPartOfCreateTable(Index)} apply).

isQualifiedColumn

protected boolean isQualifiedColumn(StatementMetaData pData, ColumnReference pColumn)

isTableAliasUsingAs

protected boolean isTableAliasUsingAs()

isUniqueIndexPartOfCreateTable

protected boolean isUniqueIndexPartOfCreateTable()

Returns whether a CREATE TABLE statement may contain a UNIQUE clause.

newStatement

protected String newStatement(String pStatement)

newStatementMetaData

protected StatementMetaData newStatementMetaData(SelectStatement pQuery)

newStatementMetaData

protected StatementMetaData newStatementMetaData(DeleteStatement pQuery)

newStatementMetaData

protected StatementMetaData newStatementMetaData(UpdateStatement pQuery, ColumnReference[] pColumns)

newStatementMetaData

protected StatementMetaData newStatementMetaData(InsertStatement pQuery, ColumnReference[] pColumns)

setLineTerminator

public void setLineTerminator(String pLineTerminator)

setStatementTerminator

public void setStatementTerminator(String pStatementTerminator)