| java.lang.Object org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement
All known Subclasses: org.apache.ojb.broker.accesslayer.sql.SqlSelectStatement, org.apache.ojb.broker.accesslayer.sql.SqlDeleteByQuery,
SqlQueryStatement | abstract public class SqlQueryStatement implements SqlStatement,JoinSyntaxTypes(Code) | | Model a Statement based on Query.
author: Jakob Braeuchi version: $Id: SqlQueryStatement.java,v 1.75.2.23 2005/12/22 18:25:51 brj Exp $ |
Inner Class :final static class AttributeInfo | |
Inner Class :final class TableAlias | |
Inner Class :final class Join | |
Method Summary | |
protected void | appendClause(StringBuffer clause, Criteria crit, StringBuffer stmt) | protected boolean | appendColName(TableAlias aTableAlias, PathInfo aPathInfo, boolean translate, StringBuffer buf) | protected boolean | appendColName(String attr, boolean useOuterJoins, UserAlias aUserAlias, StringBuffer buf) Append the appropriate ColumnName to the buffer
if a FIELDDESCRIPTOR is found for the Criteria the colName is taken from
there otherwise its taken from Criteria. | protected boolean | appendColName(String attr, String attrAlias, boolean useOuterJoins, UserAlias aUserAlias, StringBuffer buf) Append the appropriate ColumnName to the buffer
if a FIELDDESCRIPTOR is found for the Criteria the colName is taken from
there otherwise its taken from Criteria. | protected void | appendCriteria(TableAlias alias, PathInfo pathInfo, SelectionCriteria c, StringBuffer buf) | protected void | appendGroupByClause(List groupByFields, StringBuffer buf) | protected void | appendHavingClause(StringBuffer having, Criteria crit, StringBuffer stmt) | protected void | appendOrderByClause(List orderByFields, List selectedFields, StringBuffer buf) Appends the ORDER BY clause for the Query.
If the orderByField is found in the list of selected fields it's index is added. | protected void | appendSQLClause(SelectionCriteria c, StringBuffer buf) | protected void | appendTableWithJoins(TableAlias alias, StringBuffer where, StringBuffer buf) Appends to the statement table and all tables joined to it. | protected void | appendWhereClause(StringBuffer where, Criteria crit, StringBuffer stmt) | abstract protected String | buildStatement() Build the SQL String. | protected void | buildSuperJoinTree(TableAlias left, ClassDescriptor cld, String name, boolean useOuterJoin) | protected void | ensureColumns(List columns, List existingColumns) Builds the Join for columns if they are not found among the existingColumns. | protected List | ensureColumns(List columns, List existingColumns, StringBuffer buf) Builds the Join for columns if they are not found among the existingColumns. | protected AttributeInfo | getAttributeInfo(String attr, boolean useOuterJoins, UserAlias aUserAlias, Map pathClasses) | protected ClassDescriptor | getBaseClassDescriptor() | protected String | getColName(TableAlias aTableAlias, PathInfo aPathInfo, boolean translate) Answer the column name for alias and path info
if translate try to convert attribute name into column name otherwise use attribute name
if a FieldDescriptor is found for the attribute name the column name is taken from
there prefixed with the alias (firstname -> A0.F_NAME). | protected FieldDescriptor | getFieldDescriptor(TableAlias aTableAlias, PathInfo aPathInfo) | protected byte | getJoinSyntaxType() Returns the joinSyntaxType. | protected HashMap | getJoinTreeToCriteria() Gets the joinTreeToCriteria. | protected Logger | getLogger() Returns the logger. | protected QueryByCriteria | getQuery() Gets the query. | protected TableAlias | getRoot() Gets the root. | protected ClassDescriptor | getSearchClassDescriptor() | protected TableAlias | getSearchTable() Gets the search table of this query. | public String | getStatement() | protected TableAlias | getTableAliasForClassDescriptor(ClassDescriptor aCld) Answer the TableAlias for ClassDescriptor. | protected void | setRoot(TableAlias root) Sets the root. | protected void | splitCriteria() First reduce the Criteria to the normal disjunctive form, then
calculate the necessary tree of joined tables for each item, then group
items with the same tree of joined tables. |
SqlQueryStatement | public SqlQueryStatement(Platform pf, ClassDescriptor cld, Query query, Logger logger)(Code) | | Constructor for SqlCriteriaStatement.
Parameters: pf - the Platform Parameters: cld - the ClassDescriptor Parameters: query - the Query Parameters: logger - the Logger |
SqlQueryStatement | public SqlQueryStatement(SqlQueryStatement parent, Platform pf, ClassDescriptor cld, Query query, Logger logger)(Code) | | Constructor for SqlCriteriaStatement.
Parameters: parent - the Parent Query Parameters: pf - the Platform Parameters: cld - the ClassDescriptor Parameters: query - the Query Parameters: logger - the Logger |
appendClause | protected void appendClause(StringBuffer clause, Criteria crit, StringBuffer stmt)(Code) | | appends a WHERE/HAVING-clause to the Statement
Parameters: clause - Parameters: crit - Parameters: stmt - |
appendColName | protected boolean appendColName(TableAlias aTableAlias, PathInfo aPathInfo, boolean translate, StringBuffer buf)(Code) | | Add the Column to the StringBuffer
Parameters: aTableAlias - Parameters: aPathInfo - Parameters: translate - flag to indicate translation of pathInfo Parameters: buf - true if appended |
appendColName | protected boolean appendColName(String attr, boolean useOuterJoins, UserAlias aUserAlias, StringBuffer buf)(Code) | | Append the appropriate ColumnName to the buffer
if a FIELDDESCRIPTOR is found for the Criteria the colName is taken from
there otherwise its taken from Criteria.
field names in functions (ie: sum(name) ) are tried to resolve
ie: name from FIELDDESCRIPTOR , UPPER(name_test) from Criteria
also resolve pathExpression adress.city or owner.konti.saldo
|
appendColName | protected boolean appendColName(String attr, String attrAlias, boolean useOuterJoins, UserAlias aUserAlias, StringBuffer buf)(Code) | | Append the appropriate ColumnName to the buffer
if a FIELDDESCRIPTOR is found for the Criteria the colName is taken from
there otherwise its taken from Criteria.
field names in functions (ie: sum(name) ) are tried to resolve
ie: name from FIELDDESCRIPTOR , UPPER(name_test) from Criteria
also resolve pathExpression adress.city or owner.konti.saldo
|
appendCriteria | protected void appendCriteria(TableAlias alias, PathInfo pathInfo, SelectionCriteria c, StringBuffer buf)(Code) | | Answer the SQL-Clause for a SelectionCriteria
Parameters: alias - Parameters: pathInfo - Parameters: c - SelectionCriteria Parameters: buf - |
appendGroupByClause | protected void appendGroupByClause(List groupByFields, StringBuffer buf)(Code) | | Appends the GROUP BY clause for the Query
Parameters: groupByFields - Parameters: buf - |
appendHavingClause | protected void appendHavingClause(StringBuffer having, Criteria crit, StringBuffer stmt)(Code) | | appends a HAVING-clause to the Statement
Parameters: having - Parameters: crit - Parameters: stmt - |
appendOrderByClause | protected void appendOrderByClause(List orderByFields, List selectedFields, StringBuffer buf)(Code) | | Appends the ORDER BY clause for the Query.
If the orderByField is found in the list of selected fields it's index is added.
Otherwise it's name is added.
Parameters: orderByFields - Parameters: selectedFields - the names of the fields in the SELECT clause Parameters: buf - |
appendSQLClause | protected void appendSQLClause(SelectionCriteria c, StringBuffer buf)(Code) | | Answer the SQL-Clause for a SelectionCriteria
If the Criteria references a class with extents an OR-Clause is
added for each extent
Parameters: c - SelectionCriteria |
appendTableWithJoins | protected void appendTableWithJoins(TableAlias alias, StringBuffer where, StringBuffer buf)(Code) | | Appends to the statement table and all tables joined to it.
Parameters: alias - the table alias Parameters: where - append conditions for WHERE clause here |
appendWhereClause | protected void appendWhereClause(StringBuffer where, Criteria crit, StringBuffer stmt)(Code) | | appends a WHERE-clause to the Statement
Parameters: where - Parameters: crit - Parameters: stmt - |
buildStatement | abstract protected String buildStatement()(Code) | | Build the SQL String.
SQL String |
buildSuperJoinTree | protected void buildSuperJoinTree(TableAlias left, ClassDescriptor cld, String name, boolean useOuterJoin)(Code) | | build the Join-Information if a super reference exists
Parameters: left - Parameters: cld - Parameters: name - |
ensureColumns | protected void ensureColumns(List columns, List existingColumns)(Code) | | Builds the Join for columns if they are not found among the existingColumns.
Parameters: columns - the list of columns represented by Criteria.Field to ensure Parameters: existingColumns - the list of column names (String) that are already appended |
ensureColumns | protected List ensureColumns(List columns, List existingColumns, StringBuffer buf)(Code) | | Builds the Join for columns if they are not found among the existingColumns.
These columns are added to the statement using a column-alias "ojb_col_x",
x being the number of existing columns
Parameters: columns - the list of columns represented by Criteria.Field to ensure Parameters: existingColumns - the list of column names (String) that are already appended Parameters: buf - the statement List of existingColumns including ojb_col_x |
getAttributeInfo | protected AttributeInfo getAttributeInfo(String attr, boolean useOuterJoins, UserAlias aUserAlias, Map pathClasses)(Code) | | Return the TableAlias and the PathInfo for an Attribute name
field names in functions (ie: sum(name) ) are tried to resolve ie: name
from FIELDDESCRIPTOR , UPPER(name_test) from Criteria
also resolve pathExpression adress.city or owner.konti.saldo
Parameters: attr - Parameters: useOuterJoins - Parameters: aUserAlias - Parameters: pathClasses - ColumnInfo |
getColName | protected String getColName(TableAlias aTableAlias, PathInfo aPathInfo, boolean translate)(Code) | | Answer the column name for alias and path info
if translate try to convert attribute name into column name otherwise use attribute name
if a FieldDescriptor is found for the attribute name the column name is taken from
there prefixed with the alias (firstname -> A0.F_NAME).
|
getFieldDescriptor | protected FieldDescriptor getFieldDescriptor(TableAlias aTableAlias, PathInfo aPathInfo)(Code) | | Get the FieldDescriptor for the PathInfo
Parameters: aTableAlias - Parameters: aPathInfo - FieldDescriptor |
getJoinSyntaxType | protected byte getJoinSyntaxType()(Code) | | Returns the joinSyntaxType.
byte |
getJoinTreeToCriteria | protected HashMap getJoinTreeToCriteria()(Code) | | Gets the joinTreeToCriteria.
Returns a HashMap |
getLogger | protected Logger getLogger()(Code) | | Returns the logger.
Logger |
getRoot | protected TableAlias getRoot()(Code) | | Gets the root.
Returns a TableAlias |
getSearchTable | protected TableAlias getSearchTable()(Code) | | Gets the search table of this query.
Returns a TableAlias |
getTableAliasForClassDescriptor | protected TableAlias getTableAliasForClassDescriptor(ClassDescriptor aCld)(Code) | | Answer the TableAlias for ClassDescriptor.
|
setRoot | protected void setRoot(TableAlias root)(Code) | | Sets the root.
Parameters: root - The root to set |
splitCriteria | protected void splitCriteria()(Code) | | First reduce the Criteria to the normal disjunctive form, then
calculate the necessary tree of joined tables for each item, then group
items with the same tree of joined tables.
|
|
|