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
_queryString
StringBuilder used to append query string.protected static org.apache.commons.logging.Log
LOG
The 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 void
addTableNames(Qualifier qualifier)
Method adding table-names in case of joins.protected java.lang.String
getSequenceNextValString(java.lang.String seqName)
Returns the database engine specific string to fetch sequence next value.protected void
handleJoinConstruction(Qualifier qualifier)
Method handling construction of joins.protected void
handleLock(Select select)
Method appending lock clauses as "FOR UPDATE" when needed.protected java.lang.String
quoteName(java.lang.String name)
Method returning prepared string to match requirements of specific databases if needed.java.lang.String
toString()
Method returning constructed String.void
visit(Assignment assignment)
Visit method to handleAssignment
elements.void
visit(AndCondition andCondition)
Visit method to handleAndCondition
elements.void
visit(Compare compare)
Visit method to handleCompare
elements.void
visit(IsNullPredicate isNullPredicate)
Visit method to handleIsNullPredicate
elements.void
visit(OrCondition orCondition)
Visit method to handleOrCondition
elements.void
visit(Delete delete)
Visit method to handleDelete
elements.void
visit(Column column)
Visit method to handleColumn
elements.void
visit(NextVal nextVal)
Visit method to handleNextVal
elements.void
visit(Parameter parameter)
Visit method to handleParameter
elements.void
visit(Insert insert)
Visit method to handleInsert
elements.void
visit(Join join)
Visit method to handleJoin
elements.void
visit(Select select)
Visit method to handle select elements.void
visit(Table table)
Visit method to handleTable
elements.void
visit(TableAlias tableAlias)
Visit method to handleTableAlias
elements.void
visit(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 handleAssignment
elements.
-
visit
public void visit(Delete delete)
Visit method to handleDelete
elements.
-
visit
public void visit(Insert insert)
Visit method to handleInsert
elements.
-
visit
public void visit(Join join)
Visit method to handleJoin
elements.
-
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 handleTable
elements.
-
visit
public void visit(TableAlias tableAlias)
Visit method to handleTableAlias
elements.
-
visit
public void visit(Update update)
Visit method to handle update elements.
-
visit
public void visit(AndCondition andCondition)
Visit method to handleAndCondition
elements.
-
visit
public void visit(Compare compare)
Visit method to handleCompare
elements.
-
visit
public void visit(IsNullPredicate isNullPredicate)
Visit method to handleIsNullPredicate
elements.
-
visit
public void visit(OrCondition orCondition)
Visit method to handleOrCondition
elements.
-
visit
public void visit(Column column)
Visit method to handleColumn
elements.
-
visit
public void visit(NextVal nextVal)
Visit method to handleNextVal
elements.
-
visit
public void visit(Parameter parameter)
Visit method to handleParameter
elements.
-
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.
-
-