|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.cayenne.access.trans.QueryAssemblerHelper
org.apache.cayenne.access.trans.QualifierTranslator
public class QualifierTranslator
Translates query qualifier to SQL. Used as a helper class by query translators.
Field Summary | |
---|---|
protected boolean |
matchingObject
|
protected DataObjectMatchTranslator |
objectMatchTranslator
|
protected java.lang.StringBuffer |
qualBuf
|
protected boolean |
translateParentQual
|
Fields inherited from class org.apache.cayenne.access.trans.QueryAssemblerHelper |
---|
queryAssembler |
Constructor Summary | |
---|---|
QualifierTranslator()
|
|
QualifierTranslator(QueryAssembler queryAssembler)
|
Method Summary | |
---|---|
protected void |
appendLiteral(java.lang.StringBuffer buf,
java.lang.Object val,
DbAttribute attr,
Expression parentExpression)
Appends SQL code to the query buffer to handle val as a
parameter to the PreparedStatement being built. |
protected void |
appendObjectMatch()
|
protected void |
detectObjectMatch(Expression exp)
Called before processing an expression to initialize objectMatchTranslator if needed. |
java.lang.String |
doTranslation()
Translates query qualifier to SQL WHERE clause. |
void |
endNode(Expression node,
Expression parentNode)
Called during the traversal after an expression node children processing is finished. |
protected Expression |
extractQualifier()
|
void |
finishedChild(Expression node,
int childIndex,
boolean hasMoreChildren)
Opportunity to insert an operation |
ObjEntity |
getObjEntity()
|
boolean |
isTranslateParentQual()
Returns true if this translator will translate
parent qualifier on call to doTranslation . |
void |
objectNode(java.lang.Object leaf,
Expression parentNode)
Called during the traversal when a leaf non-expression node is encountered. |
protected boolean |
parenthesisNeeded(Expression node,
Expression parentNode)
|
protected void |
processRelTermination(java.lang.StringBuffer buf,
DbRelationship rel)
Handles case when a DB_NAME expression ends with relationship. |
void |
setTranslateParentQual(boolean translateParentQual)
Configures translator to translate parent or main qualifier on call to doTranslation . |
void |
startNode(Expression node,
Expression parentNode)
Called during the traversal before an expression node children processing is started. |
Methods inherited from class org.apache.cayenne.access.trans.QueryAssemblerHelper |
---|
appendDbPath, appendLiteralDirect, appendObjPath, getDbEntity, getQueryAssembler, paramsDbType, processColumn, processColumn, processColumn, processRelTermination, setQueryAssembler |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected java.lang.StringBuffer qualBuf
protected boolean translateParentQual
protected DataObjectMatchTranslator objectMatchTranslator
protected boolean matchingObject
Constructor Detail |
---|
public QualifierTranslator()
public QualifierTranslator(QueryAssembler queryAssembler)
Method Detail |
---|
public java.lang.String doTranslation()
queryAssembler
object.
doTranslation
in class QueryAssemblerHelper
protected Expression extractQualifier()
protected void detectObjectMatch(Expression exp)
protected void appendObjectMatch()
public void finishedChild(Expression node, int childIndex, boolean hasMoreChildren)
finishedChild
in interface TraversalHandler
public void startNode(Expression node, Expression parentNode)
TraversalHandler
startNode
in interface TraversalHandler
public void endNode(Expression node, Expression parentNode)
TraversalHandler
endNode
in interface TraversalHandler
public void objectNode(java.lang.Object leaf, Expression parentNode)
TraversalHandler
objectNode
in interface TraversalHandler
protected boolean parenthesisNeeded(Expression node, Expression parentNode)
public boolean isTranslateParentQual()
true
if this translator will translate
parent qualifier on call to doTranslation
.
public void setTranslateParentQual(boolean translateParentQual)
doTranslation
.
translateParentQual
- The translateParentQual to setpublic ObjEntity getObjEntity()
getObjEntity
in class QueryAssemblerHelper
protected void appendLiteral(java.lang.StringBuffer buf, java.lang.Object val, DbAttribute attr, Expression parentExpression)
QueryAssemblerHelper
val
as a
parameter to the PreparedStatement being built. Adds val
into QueryAssembler parameter list.
If val
is null, "NULL" is appended to the query.
If val
is a DataObject, its primary key value is
used as a parameter. Only objects with a single column primary key
can be used.
appendLiteral
in class QueryAssemblerHelper
buf
- query buffer.val
- object that should be appended as a literal to the query.
Must be of one of "standard JDBC" types, null or a DataObject.attr
- DbAttribute that has information on what type of parameter
is being appended.protected void processRelTermination(java.lang.StringBuffer buf, DbRelationship rel)
QueryAssemblerHelper
processRelTermination
in class QueryAssemblerHelper
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |