# Interface EJBQLExpressionVisitor

All Known Implementing Classes:
  `DB2EJBQLConditionTranslator, DerbyEJBQLConditionTranslator, EJBQLBaseVisitor, EJBQLConditionTranslator, EJBQLDbPathTranslator, EJBQLDeleteTranslator, EJBQLFromTranslator, EJBQLPathTranslator, EJBQLSelectColumnsTranslator, EJBQLSelectTranslator, FirebirdEJBQLConditionTranslator, H2EJBQLConditionTranslator, HSQLEJBQLConditionTranslator`

public interface EJBQLExpressionVisitor
A visitor interface to inspect the EJBQL expression tree. Visit methods return booleans, indicating whether the children of a given node should be visited.

Since:
  3.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `visitAbs(EJBQLExpression expression, int finishedChildIndex)`
  `boolean`
  `visitAbstractSchemaName(EJBQLExpression expression)`
  `boolean`
  `visitAdd(EJBQLExpression expression, int finishedChildIndex)`
  Called on visiting "add" expression and also after visiting every expression child.
  `boolean`
  `visitAggregate(EJBQLExpression expression)`
  `boolean`
  `visitAll(EJBQLExpression expression)`
  `boolean`
  `visitAnd(EJBQLExpression expression, int finishedChildIndex)`
  Called on visiting "and" expression and also after visiting every expression child.
  `boolean`
  `visitAny(EJBQLExpression expression)`
  `boolean`
  `visitAscending(EJBQLExpression expression)`
  `boolean`
  `visitAverage(EJBQLAggregateColumn expression)`
  `boolean`
  `visitBetween(EJBQLExpression expression, int finishedChildIndex)`
  Called on visiting "between" expression and also after visiting every expression child.
  `boolean`
  `visitBooleanLiteral(EJBQLExpression expression)`
  `boolean`
  `visitClassName(EJBQLExpression expression)`
  `boolean`
  `visitConcat(EJBQLExpression expression, int finishedChildIndex)`
  `boolean`
  `visitConstructor(EJBQLExpression expression)`
  `boolean`
  `visitConstructorParameter(EJBQLExpression expression)`
  `boolean`
  `visitConstructorParameters(EJBQLExpression expression)`
  `boolean`
  `visitCount(EJBQLAggregateColumn expression)`
  `boolean`
  `visitCurrentDate(EJBQLExpression expression)`
  `boolean`
  `visitCurrentTime(EJBQLExpression expression)`
  `boolean`
  `visitCurrentTimestamp(EJBQLExpression expression)`
  `boolean`
  `visitDbPath(EJBQLExpression expression, int finishedChildIndex)`
  `boolean`
  `visitDecimalLiteral(EJBQLDecimalLiteral expression)`
  `boolean`
  `visitDelete(EJBQLExpression expression)`
  `boolean`
  `visitDescending(EJBQLExpression expression)`
  `boolean`
  `visitDistinct(EJBQLExpression expression)`
  `boolean`
  `visitDivide(EJBQLExpression expression, int finishedChildIndex)`
  Called on visiting "divide" expression and also after visiting every expression child.
  `boolean`
  `visitEquals(EJBQLExpression expression, int finishedChildIndex)`
  Called on visiting "equals" expression and also after visiting every expression child.
  `boolean`
  `visitEscapeCharacter(EJBQLExpression expression)`
  `boolean`
  `visitExists(EJBQLExpression expression)`
  `boolean`
  `visitFrom(EJBQLExpression expression, int finishedChildIndex)`
  `boolean`
  `visitFromItem(EJBQLFromItem expression, int finishedChildIndex)`
  `boolean`
  `visitGreaterOrEqual(EJBQLExpression expression, int finishedChildIndex)`
  Called on visiting ">=" expression and also after visiting every expression child.
  `boolean`
  `visitGreaterThan(EJBQLExpression expression, int finishedChildIndex)`
  Called on visiting ">=" expression and also after visiting every expression child.
  `boolean`
  `visitGroupBy(EJBQLExpression expression)`
  `boolean`
  `visitHaving(EJBQLExpression expression)`
  `boolean`
  `visitIdentificationVariable(EJBQLExpression expression)`
  `boolean`
  `visitIdentifier(EJBQLExpression expression)`
  `boolean`
  `visitIn(EJBQLExpression expression, int finishedChildIndex)`
  `boolean`
  `visitInnerFetchJoin(EJBQLJoin join)`
  `boolean`
  `visitInnerJoin(EJBQLJoin join)`
  `boolean`
  `visitIntegerLiteral(EJBQLIntegerLiteral expression)`
  `boolean`
  `visitIsEmpty(EJBQLExpression expression)`
  `boolean`
  `visitIsNull(EJBQLExpression expression, int finishedChildIndex)`
  `boolean`
  `visitLength(EJBQLExpression expression, int finishedChildIndex)`
  `boolean`
  `visitLessOrEqual(EJBQLExpression expression, int finishedChildIndex)`
  Called on visiting "<=" expression and also after visiting every expression child.
  `boolean`
  `visitLessThan(EJBQLExpression expression, int finishedChildIndex)`
  Called on visiting "<" expression and also after visiting every expression child.
  `boolean`
  `visitLike(EJBQLExpression expression, int finishedChildIndex)`
  Called on visiting "LIKE" expression and also after visiting every expression child.
  `boolean`
  `visitLocate(EJBQLExpression expression, int finishedChildIndex)`
  `boolean`
  `visitLower(EJBQLExpression expression, int finishedChildIndex)`
  `boolean`
  `visitMax(EJBQLAggregateColumn expression)`
  `boolean`
  `visitMemberOf(EJBQLExpression expression)`
  `boolean`
  `visitMin(EJBQLAggregateColumn expression)`
  `boolean`
  `visitMod(EJBQLExpression expression, int finishedChildIndex)`
  `boolean`
  `visitMultiply(EJBQLExpression expression, int finishedChildIndex)`
  Called on visiting "*" expression and also after visiting every expression child.
  `boolean`
  `visitNamedInputParameter(EJBQLExpression expression)`
  `boolean`
  `visitNamedInputParameterForIn(EJBQLExpression expression)`
  This method is invoked from the processing of the `EJBQLIn` in order to handle a query such as;
  `boolean`
  `visitNegative(EJBQLExpression expression)`
  `boolean`
  `visitNot(EJBQLExpression expression)`
  `boolean`
  `visitNotEquals(EJBQLExpression expression, int finishedChildIndex)`
  Called on visiting "!
  `boolean`
  `visitOr(EJBQLExpression expression, int finishedChildIndex)`
  Called on visiting "or" expression and also after visiting every expression child.
  `boolean`
  `visitOrderBy(EJBQLExpression expression)`
  `boolean`
  `visitOrderByItem(EJBQLExpression expression)`
  `boolean`
  `visitOuterFetchJoin(EJBQLJoin join)`
  `boolean`
  `visitOuterJoin(EJBQLJoin join)`
  `boolean`
  `visitPath(EJBQLExpression expression, int finishedChildIndex)`
  Called on visiting "path" expression and also after visiting every expression child.
  `boolean`
  `visitPatternValue(EJBQLExpression expression)`
  `boolean`
  `visitPositionalInputParameter(EJBQLPositionalInputParameter expression)`
  `boolean`
  `visitPositionalInputParameterForIn(EJBQLPositionalInputParameter expression)`
  This method is invoked from the processing of the `EJBQLIn` in order to handle a query such as;
  `boolean`
  `visitSelect(EJBQLExpression expression)`
  `boolean`
  `visitSelectClause(EJBQLExpression expression)`
  `boolean`
  `visitSelectExpression(EJBQLExpression expression)`
  `boolean`
  `visitSelectExpressions(EJBQLExpression expression)`
  `boolean`
  `visitSize(EJBQLExpression expression)`
  `boolean`
  `visitSqrt(EJBQLExpression expression, int finishedChildIndex)`
  `boolean`
  `visitStringLiteral(EJBQLExpression expression)`
  `boolean`
  `visitSubselect(EJBQLExpression expression)`
  `boolean`
  `visitSubstring(EJBQLExpression expression, int finishedChildIndex)`
  `boolean`
  `visitSubtract(EJBQLExpression expression, int finishedChildIndex)`
  Called on visiting "subtract" expression and also after visiting every expression child.
  `boolean`
  `visitSum(EJBQLAggregateColumn expression)`
  `boolean`
  `visitTok(EJBQLExpression expression)`
  `boolean`
  `visitTrim(EJBQLExpression expression, int finishedChildIndex)`
  `boolean`
  `visitTrimBoth(EJBQLExpression expression)`
  `boolean`
  `visitTrimCharacter(EJBQLExpression expression)`
  `boolean`
  `visitTrimLeading(EJBQLExpression expression)`
  `boolean`
  `visitTrimTrailing(EJBQLExpression expression)`
  `boolean`
  `visitUpdate(EJBQLExpression expression)`
  `boolean`
  `visitUpdateField(EJBQLExpression expression, int finishedChildIndex)`
  `boolean`
  `visitUpdateItem(EJBQLExpression expression, int finishedChildIndex)`
  `boolean`
  `visitUpdateValue(EJBQLExpression expression)`
  `boolean`
  `visitUpper(EJBQLExpression expression, int finishedChildIndex)`
  `boolean`
  `visitWhere(EJBQLExpression expression)`

- ## Method Details

  - ### visitAbs

    boolean visitAbs(EJBQLExpression expression, int finishedChildIndex)

  - ### visitAbstractSchemaName

    boolean visitAbstractSchemaName(EJBQLExpression expression)

  - ### visitAdd

    boolean visitAdd(EJBQLExpression expression, int finishedChildIndex)
    Called on visiting "add" expression and also after visiting every expression child.
    Parameters:
      `expression` - an "add" 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.

  - ### visitAggregate

    boolean visitAggregate(EJBQLExpression expression)

  - ### visitAll

    boolean visitAll(EJBQLExpression expression)

  - ### visitAnd

    boolean visitAnd(EJBQLExpression expression, int finishedChildIndex)
    Called on visiting "and" expression and also after visiting every expression child.
    Parameters:
      `expression` - an "and" 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.

  - ### visitAny

    boolean visitAny(EJBQLExpression expression)

  - ### visitAscending

    boolean visitAscending(EJBQLExpression expression)

  - ### visitAverage

    boolean visitAverage(EJBQLAggregateColumn expression)

  - ### visitBetween

    boolean visitBetween(EJBQLExpression expression, int finishedChildIndex)
    Called on visiting "between" expression and also after visiting every expression child.
    Parameters:
      `expression` - an "between" 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.

  - ### visitBooleanLiteral

    boolean visitBooleanLiteral(EJBQLExpression expression)

  - ### visitClassName

    boolean visitClassName(EJBQLExpression expression)

  - ### visitConcat

    boolean visitConcat(EJBQLExpression expression, int finishedChildIndex)

  - ### visitConstructor

    boolean visitConstructor(EJBQLExpression expression)

  - ### visitConstructorParameter

    boolean visitConstructorParameter(EJBQLExpression expression)

  - ### visitConstructorParameters

    boolean visitConstructorParameters(EJBQLExpression expression)

  - ### visitCount

    boolean visitCount(EJBQLAggregateColumn expression)

  - ### visitCurrentDate

    boolean visitCurrentDate(EJBQLExpression expression)

  - ### visitCurrentTime

    boolean visitCurrentTime(EJBQLExpression expression)

  - ### visitCurrentTimestamp

    boolean visitCurrentTimestamp(EJBQLExpression expression)

  - ### visitDecimalLiteral

    boolean visitDecimalLiteral(EJBQLDecimalLiteral expression)

  - ### visitDelete

    boolean visitDelete(EJBQLExpression expression)

  - ### visitDescending

    boolean visitDescending(EJBQLExpression expression)

  - ### visitDistinct

    boolean visitDistinct(EJBQLExpression expression)

  - ### visitDivide

    boolean visitDivide(EJBQLExpression expression, int finishedChildIndex)
    Called on visiting "divide" expression and also after visiting every expression child.
    Parameters:
      `expression` - an "divide" 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.

  - ### visitEquals

    boolean visitEquals(EJBQLExpression expression, int finishedChildIndex)
    Called on visiting "equals" expression and also after visiting every expression child.
    Parameters:
      `expression` - an "equals" 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.

  - ### visitEscapeCharacter

    boolean visitEscapeCharacter(EJBQLExpression expression)

  - ### visitExists

    boolean visitExists(EJBQLExpression expression)

  - ### visitFrom

    boolean visitFrom(EJBQLExpression expression, int finishedChildIndex)

  - ### visitFromItem

    boolean visitFromItem(EJBQLFromItem expression, int finishedChildIndex)

  - ### visitGreaterOrEqual

    boolean visitGreaterOrEqual(EJBQLExpression expression, int finishedChildIndex)
    Called on visiting ">=" expression and also after visiting every expression child.
    Parameters:
      `expression` - an ">=" 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.

  - ### visitGreaterThan

    boolean visitGreaterThan(EJBQLExpression expression, int finishedChildIndex)
    Called on visiting ">=" expression and also after visiting every expression child.
    Parameters:
      `expression` - an ">=" 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.

  - ### visitGroupBy

    boolean visitGroupBy(EJBQLExpression expression)

  - ### visitHaving

    boolean visitHaving(EJBQLExpression expression)

  - ### visitIdentificationVariable

    boolean visitIdentificationVariable(EJBQLExpression expression)

  - ### visitIdentifier

    boolean visitIdentifier(EJBQLExpression expression)

  - ### visitIn

    boolean visitIn(EJBQLExpression expression, int finishedChildIndex)

  - ### visitInnerFetchJoin

    boolean visitInnerFetchJoin(EJBQLJoin join)

  - ### visitInnerJoin

    boolean visitInnerJoin(EJBQLJoin join)

  - ### visitIntegerLiteral

    boolean visitIntegerLiteral(EJBQLIntegerLiteral expression)

  - ### visitIsEmpty

    boolean visitIsEmpty(EJBQLExpression expression)

  - ### visitIsNull

    boolean visitIsNull(EJBQLExpression expression, int finishedChildIndex)

  - ### visitLength

    boolean visitLength(EJBQLExpression expression, int finishedChildIndex)

  - ### visitLessOrEqual

    boolean visitLessOrEqual(EJBQLExpression expression, int finishedChildIndex)
    Called on visiting "<=" expression and also after visiting every expression child.
    Parameters:
      `expression` - an "<=" 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.

  - ### visitLessThan

    boolean visitLessThan(EJBQLExpression expression, int finishedChildIndex)
    Called on visiting "<" expression and also after visiting every expression child.
    Parameters:
      `expression` - an "<" 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.

  - ### visitLike

    boolean visitLike(EJBQLExpression expression, int finishedChildIndex)
    Called on visiting "LIKE" expression and also after visiting every expression child.
    Parameters:
      `expression` - an "LIKE" 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.

  - ### visitLocate

    boolean visitLocate(EJBQLExpression expression, int finishedChildIndex)

  - ### visitLower

    boolean visitLower(EJBQLExpression expression, int finishedChildIndex)

  - ### visitMax

    boolean visitMax(EJBQLAggregateColumn expression)

  - ### visitMemberOf

    boolean visitMemberOf(EJBQLExpression expression)

  - ### visitMin

    boolean visitMin(EJBQLAggregateColumn expression)

  - ### visitMod

    boolean visitMod(EJBQLExpression expression, int finishedChildIndex)

  - ### visitMultiply

    boolean visitMultiply(EJBQLExpression expression, int finishedChildIndex)
    Called on visiting "*" expression and also after visiting every expression child.
    Parameters:
      `expression` - an "*" 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.

  - ### visitNamedInputParameterForIn

    boolean visitNamedInputParameterForIn(EJBQLExpression expression)

    This method is invoked from the processing of the `EJBQLIn` in order to handle a query such as;

    `p.toArtist IN (:artists)`

  - ### visitNamedInputParameter

    boolean visitNamedInputParameter(EJBQLExpression expression)

  - ### visitNegative

    boolean visitNegative(EJBQLExpression expression)

  - ### visitNot

    boolean visitNot(EJBQLExpression expression)

  - ### visitNotEquals

    boolean visitNotEquals(EJBQLExpression expression, int finishedChildIndex)
    Called on visiting "!=" expression and also after visiting every expression child.
    Parameters:
      `expression` - an "!=" 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.

  - ### visitOr

    boolean visitOr(EJBQLExpression expression, int finishedChildIndex)
    Called on visiting "or" expression and also after visiting every expression child.
    Parameters:
      `expression` - an "or" 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.

  - ### visitOrderBy

    boolean visitOrderBy(EJBQLExpression expression)

  - ### visitOrderByItem

    boolean visitOrderByItem(EJBQLExpression expression)

  - ### visitOuterFetchJoin

    boolean visitOuterFetchJoin(EJBQLJoin join)

  - ### visitOuterJoin

    boolean visitOuterJoin(EJBQLJoin join)

  - ### visitPath

    boolean visitPath(EJBQLExpression expression, int finishedChildIndex)
    Called on visiting "path" expression and also after visiting every expression child.
    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.

  - ### visitDbPath

    boolean visitDbPath(EJBQLExpression expression, int finishedChildIndex)

  - ### visitPatternValue

    boolean visitPatternValue(EJBQLExpression expression)

  - ### visitPositionalInputParameterForIn

    boolean visitPositionalInputParameterForIn(EJBQLPositionalInputParameter expression)

    This method is invoked from the processing of the `EJBQLIn` in order to handle a query such as;

    `p.toArtist IN (?1)`

  - ### visitPositionalInputParameter

    boolean visitPositionalInputParameter(EJBQLPositionalInputParameter expression)

  - ### visitSelect

    boolean visitSelect(EJBQLExpression expression)

  - ### visitSelectClause

    boolean visitSelectClause(EJBQLExpression expression)

  - ### visitSelectExpression

    boolean visitSelectExpression(EJBQLExpression expression)

  - ### visitSelectExpressions

    boolean visitSelectExpressions(EJBQLExpression expression)

  - ### visitSize

    boolean visitSize(EJBQLExpression expression)

  - ### visitSqrt

    boolean visitSqrt(EJBQLExpression expression, int finishedChildIndex)

  - ### visitStringLiteral

    boolean visitStringLiteral(EJBQLExpression expression)

  - ### visitSubselect

    boolean visitSubselect(EJBQLExpression expression)

  - ### visitSubstring

    boolean visitSubstring(EJBQLExpression expression, int finishedChildIndex)

  - ### visitSubtract

    boolean visitSubtract(EJBQLExpression expression, int finishedChildIndex)
    Called on visiting "subtract" expression and also after visiting every expression child.
    Parameters:
      `expression` - an "subtract" 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.

  - ### visitSum

    boolean visitSum(EJBQLAggregateColumn expression)

  - ### visitTok

    boolean visitTok(EJBQLExpression expression)

  - ### visitTrim

    boolean visitTrim(EJBQLExpression expression, int finishedChildIndex)

  - ### visitTrimBoth

    boolean visitTrimBoth(EJBQLExpression expression)

  - ### visitTrimCharacter

    boolean visitTrimCharacter(EJBQLExpression expression)

  - ### visitTrimLeading

    boolean visitTrimLeading(EJBQLExpression expression)

  - ### visitTrimTrailing

    boolean visitTrimTrailing(EJBQLExpression expression)

  - ### visitUpdate

    boolean visitUpdate(EJBQLExpression expression)

  - ### visitUpdateField

    boolean visitUpdateField(EJBQLExpression expression, int finishedChildIndex)

  - ### visitUpdateItem

    boolean visitUpdateItem(EJBQLExpression expression, int finishedChildIndex)

  - ### visitUpdateValue

    boolean visitUpdateValue(EJBQLExpression expression)

  - ### visitUpper

    boolean visitUpper(EJBQLExpression expression, int finishedChildIndex)

  - ### visitWhere

    boolean visitWhere(EJBQLExpression expression)