예제 #1
0
  /** {@inheritDoc} */
  @Override
  public JPQLQueryBNF findQueryBNF(Expression expression) {

    if ((stateFieldExpression != null) && stateFieldExpression.isAncestor(expression)) {
      return getQueryBNF(UpdateItemStateFieldPathExpressionBNF.ID);
    }

    if ((newValue != null) && newValue.isAncestor(expression)) {
      return getQueryBNF(NewValueBNF.ID);
    }

    return super.findQueryBNF(expression);
  }
  /** {@inheritDoc} */
  @Override
  public JPQLQueryBNF findQueryBNF(Expression expression) {

    if ((upperBoundExpression != null) && upperBoundExpression.isAncestor(expression)
        || (lowerBoundExpression != null) && lowerBoundExpression.isAncestor(expression)) {

      return getQueryBNF(InternalBetweenExpressionBNF.ID);
    }

    // There is no generic BNF so we'll generalize with scalar expression
    if ((this.expression != null) && expression.isAncestor(expression)) {
      return getQueryBNF(ScalarExpressionBNF.ID);
    }

    return super.findQueryBNF(expression);
  }