Package org.apache.cayenne.access.translator.ejbql

## Class EJBQLSelectColumnsTranslator

- java.lang.Object
- - org.apache.cayenne.ejbql.EJBQLBaseVisitor
  - - org.apache.cayenne.access.translator.ejbql.EJBQLSelectColumnsTranslator

- All Implemented Interfaces:
    `EJBQLExpressionVisitor`

      public class EJBQLSelectColumnsTranslator
      extends EJBQLBaseVisitor

  Translator of the EJBQL select clause.
  Since:
    3.0

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected EJBQLTranslationContext` | `context` |

    - ### Fields inherited from class org.apache.cayenne.ejbql.EJBQLBaseVisitor

      `continueFlag`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `EJBQLSelectColumnsTranslator​(EJBQLTranslationContext context)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `appendColumn​(String javaType, String alias, DbAttribute dbAttribute, String columnAlias)` |
    `boolean` | `visitAggregate​(EJBQLExpression expression)` |
    `boolean` | `visitDbPath​(EJBQLExpression expression, int finishedChildIndex)` |
    `boolean` | `visitIdentifier​(EJBQLExpression expression)` |
    `boolean` | `visitPath​(EJBQLExpression expression, int finishedChildIndex)` | Called on visiting "path" expression and also after visiting every expression child.
    `boolean` | `visitSelectExpression​(EJBQLExpression expression)` |

    - ### Methods inherited from class org.apache.cayenne.ejbql.EJBQLBaseVisitor

      `visitAbs, visitAbstractSchemaName, visitAdd, 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, visitIdentificationVariable, visitIn, visitInnerFetchJoin, visitInnerJoin, visitIntegerLiteral, visitIsEmpty, visitIsNull, visitLength, visitLessOrEqual, visitLessThan, visitLike, visitLocate, visitLower, visitMax, visitMemberOf, visitMin, visitMod, visitMultiply, visitNamedInputParameter, visitNamedInputParameterForIn, visitNegative, visitNot, visitNotEquals, visitOr, visitOrderBy, visitOrderByItem, visitOuterFetchJoin, visitOuterJoin, visitPatternValue, visitPositionalInputParameter, visitPositionalInputParameterForIn, visitSelect, visitSelectClause, 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

    - #### context

          protected EJBQLTranslationContext context

  - ### Constructor Detail

    - #### EJBQLSelectColumnsTranslator

          protected EJBQLSelectColumnsTranslator​(EJBQLTranslationContext context)

  - ### Method Detail

    - #### visitSelectExpression

          public boolean visitSelectExpression​(EJBQLExpression expression)

      Specified by:
        `visitSelectExpression` in interface `EJBQLExpressionVisitor`
      Overrides:
        `visitSelectExpression` in class `EJBQLBaseVisitor`

    - #### visitAggregate

          public boolean visitAggregate​(EJBQLExpression expression)

      Specified by:
        `visitAggregate` in interface `EJBQLExpressionVisitor`
      Overrides:
        `visitAggregate` in class `EJBQLBaseVisitor`

    - #### visitDbPath

          public boolean visitDbPath​(EJBQLExpression expression,
                                     int finishedChildIndex)

      Specified by:
        `visitDbPath` in interface `EJBQLExpressionVisitor`
      Overrides:
        `visitDbPath` in class `EJBQLBaseVisitor`

    - #### 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`

    - #### appendColumn

          public void appendColumn​(String javaType,
                                   String alias,
                                   DbAttribute dbAttribute,
                                   String columnAlias)