org.apache.cayenne.access.jdbc
Class EJBQLPathTranslator

java.lang.Object
  extended by org.apache.cayenne.ejbql.EJBQLBaseVisitor
      extended by org.apache.cayenne.access.jdbc.EJBQLPathTranslator
All Implemented Interfaces:
EJBQLExpressionVisitor

public abstract class EJBQLPathTranslator
extends EJBQLBaseVisitor

A translator that walks the relationship/attribute path, appending joins to the query.

Since:
3.0
Author:
Andrus Adamchik

Field Summary
protected  ObjEntity currentEntity
           
protected  String idPath
           
protected  String joinMarker
           
protected  String lastAlias
           
 
Fields inherited from class org.apache.cayenne.ejbql.EJBQLBaseVisitor
continueFlag
 
Constructor Summary
EJBQLPathTranslator(EJBQLTranslationContext context)
           
 
Method Summary
protected abstract  void appendMultiColumnPath(EJBQLMultiColumnOperand operand)
           
 boolean isUsingAliases()
           
protected  void processTerminatingAttribute(ObjAttribute attribute)
           
 void setUsingAliases(boolean usingAliases)
           
 boolean visitIdentificationVariable(EJBQLExpression expression)
           
 boolean visitIdentifier(EJBQLExpression expression)
           
 boolean visitPath(EJBQLExpression expression, int finishedChildIndex)
          Called on visiting "path" expression and also after visiting every expression child.
 
Methods inherited from class org.apache.cayenne.ejbql.EJBQLBaseVisitor
visitAbs, visitAbstractSchemaName, visitAdd, visitAggregate, visitAll, visitAnd, visitAny, visitAscending, visitAverage, visitBetween, visitBooleanLiteral, visitClassName, visitConcat, visitConstructor, visitConstructorParameter, visitConstructorParameters, visitCount, visitCurrentDate, visitCurrentTime, visitCurrentTimestamp, visitDecimalLiteral, visitDelete, visitDescending, visitDistinct, visitDivide, visitEquals, visitEscapeCharacter, visitExists, visitFrom, visitFromItem, visitGreaterOrEqual, visitGreaterThan, visitGroupBy, visitHaving, visitIn, visitInnerFetchJoin, visitInnerJoin, visitIntegerLiteral, visitIsEmpty, visitIsNull, visitLength, visitLessOrEqual, visitLessThan, visitLike, visitLocate, visitLower, visitMax, visitMemberOf, visitMin, visitMod, visitMultiply, visitNamedInputParameter, visitNegative, visitNot, visitNotEquals, visitOr, visitOrderBy, visitOrderByItem, visitOuterFetchJoin, visitOuterJoin, visitPatternValue, visitPositionalInputParameter, visitSelect, visitSelectClause, visitSelectExpression, visitSelectExpressions, visitSize, visitSqrt, visitStringLiteral, visitSubselect, visitSubstring, visitSubtract, visitSum, visitTok, visitTrim, visitTrimBoth, visitTrimCharacter, visitTrimLeading, visitTrimTrailing, visitUpdate, visitUpdateField, visitUpdateItem, visitUpdateValue, visitUpper, visitWhere
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

currentEntity

protected ObjEntity currentEntity

lastAlias

protected String lastAlias

idPath

protected String idPath

joinMarker

protected String joinMarker
Constructor Detail

EJBQLPathTranslator

public EJBQLPathTranslator(EJBQLTranslationContext context)
Method Detail

appendMultiColumnPath

protected abstract void appendMultiColumnPath(EJBQLMultiColumnOperand operand)

visitPath

public boolean visitPath(EJBQLExpression expression,
                         int finishedChildIndex)
Description copied from interface: EJBQLExpressionVisitor
Called on visiting "path" expression and also after visiting every expression child.

Specified by:
visitPath in interface EJBQLExpressionVisitor
Overrides:
visitPath in class EJBQLBaseVisitor
Parameters:
expression - a "path" node being visited.
finishedChildIndex - "-1" when the expression node is visited for the first time, before its children; otherwise this is an index of a child just visited.

visitIdentifier

public boolean visitIdentifier(EJBQLExpression expression)
Specified by:
visitIdentifier in interface EJBQLExpressionVisitor
Overrides:
visitIdentifier in class EJBQLBaseVisitor

visitIdentificationVariable

public boolean visitIdentificationVariable(EJBQLExpression expression)
Specified by:
visitIdentificationVariable in interface EJBQLExpressionVisitor
Overrides:
visitIdentificationVariable in class EJBQLBaseVisitor

processTerminatingAttribute

protected void processTerminatingAttribute(ObjAttribute attribute)

isUsingAliases

public boolean isUsingAliases()

setUsingAliases

public void setUsingAliases(boolean usingAliases)


Copyright © 2001-2007 Apache Cayenne. All Rights Reserved.