Class DefaultQueryVisitor
- java.lang.Object
-
- org.castor.cpa.persistence.sql.query.visitor.DefaultQueryVisitor
-
- All Implemented Interfaces:
Visitor
- Direct Known Subclasses:
DefaultDoubleQuoteNameQueryVisitor,SapDbQueryVisitor
public class DefaultQueryVisitor extends java.lang.Object implements Visitor
Class representing a alias of a specific table or a database.- Version:
- $Revision: 8469 $ $Date: 2006-04-25 15:08:23 -0600 (Tue, 25 Apr 2006) $
- Author:
- Dennis Butterstein, Ralf Joachim
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringBuilder_queryStringStringBuilder used to append query string.protected static org.apache.commons.logging.LogLOGThe Jakarta Commons Logging instance used for all logging.
-
Constructor Summary
Constructors Constructor Description DefaultQueryVisitor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddTableNames(Qualifier qualifier)Method adding table-names in case of joins.protected java.lang.StringgetSequenceNextValString(java.lang.String seqName)Returns the database engine specific string to fetch sequence next value.protected voidhandleJoinConstruction(Qualifier qualifier)Method handling construction of joins.protected voidhandleLock(Select select)Method appending lock clauses as "FOR UPDATE" when needed.protected java.lang.StringquoteName(java.lang.String name)Method returning prepared string to match requirements of specific databases if needed.java.lang.StringtoString()Method returning constructed String.voidvisit(Assignment assignment)Visit method to handleAssignmentelements.voidvisit(AndCondition andCondition)Visit method to handleAndConditionelements.voidvisit(Compare compare)Visit method to handleCompareelements.voidvisit(IsNullPredicate isNullPredicate)Visit method to handleIsNullPredicateelements.voidvisit(OrCondition orCondition)Visit method to handleOrConditionelements.voidvisit(Delete delete)Visit method to handleDeleteelements.voidvisit(Column column)Visit method to handleColumnelements.voidvisit(NextVal nextVal)Visit method to handleNextValelements.voidvisit(Parameter parameter)Visit method to handleParameterelements.voidvisit(Insert insert)Visit method to handleInsertelements.voidvisit(Join join)Visit method to handleJoinelements.voidvisit(Select select)Visit method to handle select elements.voidvisit(Table table)Visit method to handleTableelements.voidvisit(TableAlias tableAlias)Visit method to handleTableAliaselements.voidvisit(Update update)Visit method to handle update elements.
-
-
-
Field Detail
-
_queryString
protected final java.lang.StringBuilder _queryString
StringBuilder used to append query string.
-
LOG
protected static final org.apache.commons.logging.Log LOG
The Jakarta Commons Logging instance used for all logging.
-
-
Method Detail
-
visit
public void visit(Assignment assignment)
Visit method to handleAssignmentelements.
-
visit
public void visit(Delete delete)
Visit method to handleDeleteelements.
-
visit
public void visit(Insert insert)
Visit method to handleInsertelements.
-
visit
public void visit(Join join)
Visit method to handleJoinelements.
-
visit
public void visit(Select select)
Visit method to handle select elements.
-
handleJoinConstruction
protected final void handleJoinConstruction(Qualifier qualifier)
Method handling construction of joins. If Processing of joins is delegated to visit(Table) and visit(TableAlias) method we get the problem that they are processed by every class holding qualifier as well (e. g. compare). This behavior can result in an infinite loop.- Parameters:
qualifier- Qualifier to process joins from.
-
addTableNames
protected void addTableNames(Qualifier qualifier)
Method adding table-names in case of joins. Normal table => Adding table name only, Aliased table => adding table name SPACE table alias.- Parameters:
qualifier- Qualifier to add names from
-
visit
public void visit(Table table)
Visit method to handleTableelements.
-
visit
public void visit(TableAlias tableAlias)
Visit method to handleTableAliaselements.
-
visit
public void visit(Update update)
Visit method to handle update elements.
-
visit
public void visit(AndCondition andCondition)
Visit method to handleAndConditionelements.
-
visit
public void visit(Compare compare)
Visit method to handleCompareelements.
-
visit
public void visit(IsNullPredicate isNullPredicate)
Visit method to handleIsNullPredicateelements.
-
visit
public void visit(OrCondition orCondition)
Visit method to handleOrConditionelements.
-
visit
public void visit(Column column)
Visit method to handleColumnelements.
-
visit
public void visit(NextVal nextVal)
Visit method to handleNextValelements.
-
visit
public void visit(Parameter parameter)
Visit method to handleParameterelements.
-
quoteName
protected java.lang.String quoteName(java.lang.String name)
Method returning prepared string to match requirements of specific databases if needed.- Parameters:
name- String to be prepared.- Returns:
- Prepared string.
-
getSequenceNextValString
protected java.lang.String getSequenceNextValString(java.lang.String seqName)
Returns the database engine specific string to fetch sequence next value.- Parameters:
seqName- Name of the sequence.- Returns:
- String to fetch sequence next value.
-
handleLock
protected void handleLock(Select select)
Method appending lock clauses as "FOR UPDATE" when needed.- Parameters:
select- Select to check if locking-clauses have to be appended or not.
-
-