public class QualifierTranslator extends QueryAssemblerHelper implements TraversalHandler
Modifier and Type | Field and Description |
---|---|
protected boolean |
caseInsensitive |
protected boolean |
matchingObject |
protected DataObjectMatchTranslator |
objectMatchTranslator |
out, queryAssembler, strategy
Constructor and Description |
---|
QualifierTranslator(QueryAssembler queryAssembler) |
Modifier and Type | Method and Description |
---|---|
protected void |
appendLiteral(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.
|
protected void |
doAppendPart()
Translates query qualifier to SQL WHERE clause.
|
protected void |
doAppendPart(Expression rootNode)
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)
Called during traversal after a child of expression
has been visited.
|
void |
objectNode(Object leaf,
Expression parentNode)
Called during the traversal when a leaf non-expression node
is encountered.
|
protected String |
operandForBitwiseAnd() |
protected String |
operandForBitwiseNot() |
protected String |
operandForBitwiseOr() |
protected String |
operandForBitwiseXor() |
protected boolean |
parenthesisNeeded(Expression node,
Expression parentNode) |
protected void |
processRelTermination(DbRelationship rel,
JoinType joinType,
String joinSplitAlias)
Handles case when a DB_NAME expression ends with relationship.
|
void |
setCaseInsensitive(boolean caseInsensitive) |
void |
startNode(Expression node,
Expression parentNode)
Called during the traversal before an expression node children
processing is started.
|
appendDbPath, appendLikeEscapeCharacter, appendLiteralDirect, appendObjPath, appendPart, getDbEntity, getObjEntity, paramsDbType, processColumn, processColumnWithQuoteSqlIdentifiers, processRelTermination
protected DataObjectMatchTranslator objectMatchTranslator
protected boolean matchingObject
protected boolean caseInsensitive
public QualifierTranslator(QueryAssembler queryAssembler)
protected void doAppendPart() throws IOException
doAppendPart
in class QueryAssemblerHelper
IOException
public void setCaseInsensitive(boolean caseInsensitive)
protected void doAppendPart(Expression rootNode) throws IOException
IOException
protected Expression extractQualifier()
protected void detectObjectMatch(Expression exp)
protected void appendObjectMatch() throws IOException
IOException
public void finishedChild(Expression node, int childIndex, boolean hasMoreChildren)
TraversalHandler
finishedChild
in interface TraversalHandler
protected String operandForBitwiseNot()
protected String operandForBitwiseOr()
protected String operandForBitwiseAnd()
protected String operandForBitwiseXor()
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(Object leaf, Expression parentNode)
TraversalHandler
objectNode
in interface TraversalHandler
protected boolean parenthesisNeeded(Expression node, Expression parentNode)
protected void appendLiteral(Object val, DbAttribute attr, Expression parentExpression) throws IOException
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
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.IOException
protected void processRelTermination(DbRelationship rel, JoinType joinType, String joinSplitAlias) throws IOException
QueryAssemblerHelper
processRelTermination
in class QueryAssemblerHelper
IOException
Copyright © 2001–2018 Apache Cayenne. All rights reserved.