|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.cayenne.access.trans.QueryAssemblerHelper
public abstract class QueryAssemblerHelper
Translates parts of the query to SQL. Always works in the context of parent Translator.
Field Summary | |
---|---|
protected java.lang.Appendable |
out
|
protected QueryAssembler |
queryAssembler
|
protected QuotingStrategy |
strategy
|
Constructor Summary | |
---|---|
QueryAssemblerHelper(QueryAssembler queryAssembler)
Creates QueryAssemblerHelper initializing with parent QueryAssembler and
output buffer object. |
Method Summary | ||
---|---|---|
protected void |
appendDbPath(Expression pathExp)
|
|
protected void |
appendLikeEscapeCharacter(PatternMatchNode patternMatchNode)
Outputs the standard JDBC (database agnostic) expression for supplying the escape character to the database server when supplying a LIKE clause. |
|
protected void |
appendLiteral(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 |
appendLiteralDirect(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 |
appendObjPath(Expression pathExp)
Processes parts of the OBJ_PATH expression. |
|
|
appendPart(T out)
|
|
protected abstract void |
doAppendPart()
|
|
DbEntity |
getDbEntity()
|
|
ObjEntity |
getObjEntity()
|
|
protected DbAttribute |
paramsDbType(Expression e)
Returns database type of expression parameters or null if it can not be determined. |
|
protected void |
processColumn(DbAttribute dbAttr)
|
|
protected void |
processColumnWithQuoteSqlIdentifiers(DbAttribute dbAttr,
Expression pathExp)
|
|
protected void |
processRelTermination(DbRelationship rel,
JoinType joinType,
java.lang.String joinSplitAlias)
Handles case when a DB_NAME expression ends with relationship. |
|
protected void |
processRelTermination(ObjRelationship rel,
JoinType joinType,
java.lang.String joinSplitAlias)
Processes case when an OBJ_PATH expression ends with relationship. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected QueryAssembler queryAssembler
protected java.lang.Appendable out
protected QuotingStrategy strategy
Constructor Detail |
---|
public QueryAssemblerHelper(QueryAssembler queryAssembler)
QueryAssembler
and
output buffer object.
Method Detail |
---|
public ObjEntity getObjEntity()
public DbEntity getDbEntity()
public <T extends java.lang.Appendable> T appendPart(T out) throws java.io.IOException
java.io.IOException
protected abstract void doAppendPart() throws java.io.IOException
java.io.IOException
protected void appendLikeEscapeCharacter(PatternMatchNode patternMatchNode) throws java.io.IOException
If there is no escape character defined then this method will not output anything. An escape character of 0 will mean no escape character.
java.io.IOException
protected void appendObjPath(Expression pathExp) throws java.io.IOException
java.io.IOException
protected void appendDbPath(Expression pathExp) throws java.io.IOException
java.io.IOException
protected void processColumn(DbAttribute dbAttr) throws java.io.IOException
java.io.IOException
protected void processColumnWithQuoteSqlIdentifiers(DbAttribute dbAttr, Expression pathExp) throws java.io.IOException
java.io.IOException
protected void appendLiteral(java.lang.Object val, DbAttribute attr, Expression parentExpression) throws java.io.IOException
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.
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.
java.io.IOException
protected void appendLiteralDirect(java.lang.Object val, DbAttribute attr, Expression parentExpression) throws java.io.IOException
val
as a parameter to
the PreparedStatement being built. Adds val
into QueryAssembler
parameter list.
java.io.IOException
protected DbAttribute paramsDbType(Expression e)
protected void processRelTermination(ObjRelationship rel, JoinType joinType, java.lang.String joinSplitAlias) throws java.io.IOException
java.io.IOException
protected void processRelTermination(DbRelationship rel, JoinType joinType, java.lang.String joinSplitAlias) throws java.io.IOException
java.io.IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |