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

  `continueFlag`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `EJBQLSelectColumnsTranslator(EJBQLTranslationContext context)`

- ## Method Summary

  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 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 Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### context

    protected EJBQLTranslationContext context

- ## Constructor Details

  - ### EJBQLSelectColumnsTranslator

    protected EJBQLSelectColumnsTranslator(EJBQLTranslationContext context)

- ## Method Details

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