Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.cayenne.access.jdbc
Class EJBQLPathTranslator

    java.lang.Object
      org.apache.cayenne.ejbql.EJBQLBaseVisitor
          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

Field Summary
`protected ObjEntity` | `currentEntity`
`protected String` | `fullPath`
`protected String` | `idPath`
`protected String` | `joinMarker`
`protected String` | `lastAlias`
`protected String` | `lastPathComponent`

Fields inherited from class org.apache.cayenne.ejbql.EJBQLBaseVisitor
`continueFlag`

Constructor Summary
`EJBQLPathTranslator(EJBQLTranslationContext context)`

Method Summary
`protected abstract void` | `appendMultiColumnPath(EJBQLMultiColumnOperand operand)`
`protected DbRelationship` | `chooseDbRelationship(ObjRelationship relationship)` Checks if the object relationship is flattened and then chooses the corresponding db relationship.
`boolean` | `isUsingAliases()`
`protected void` | `processIntermediatePathComponent()`
`protected void` | `processLastPathComponent()`
`protected void` | `processTerminatingAttribute(ObjAttribute attribute)`
`protected void` | `processTerminatingRelationship(ObjRelationship relationship)`
`protected void` | `resolveJoin(boolean inner)`
`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, visitDbPath, 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

### lastPathComponent

    protected String lastPathComponent

### lastAlias

    protected String lastAlias

### idPath

    protected String idPath

### joinMarker

    protected String joinMarker

### fullPath

    protected String fullPath

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`

### resolveJoin

    protected void resolveJoin(boolean inner)

### processIntermediatePathComponent

    protected void processIntermediatePathComponent()

### processLastPathComponent

    protected void processLastPathComponent()

### processTerminatingAttribute

    protected void processTerminatingAttribute(ObjAttribute attribute)

### processTerminatingRelationship

    protected void processTerminatingRelationship(ObjRelationship relationship)

### chooseDbRelationship

    protected DbRelationship chooseDbRelationship(ObjRelationship relationship)

  Checks if the object relationship is flattened and then chooses the corresponding db relationship. The last in idPath if isFlattened and the first in list otherwise.

  Parameters:
    `relationship` - the object relationship
  Returns:
    `DbRelationship`

### isUsingAliases

    public boolean isUsingAliases()

### setUsingAliases

    public void setUsingAliases(boolean usingAliases)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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