final public void conditionExpression()

in cayenne/src/main/java/org/apache/cayenne/exp/parser/ExpressionParser.java [918:995]


  final public void conditionExpression() throws ParseException {
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case 16:
    case 25:
    case 26:
    case 28:
    case LENGTH:
    case LOCATE:
    case ABS:
    case SQRT:
    case MOD:
    case YEAR:
    case MONTH:
    case WEEK:
    case DAY_OF_YEAR:
    case DAY:
    case DAY_OF_MONTH:
    case DAY_OF_WEEK:
    case HOUR:
    case MINUTE:
    case SECOND:
    case FUNCTION:
    case OPERATOR:
    case AGGREGATE:
    case 70:
    case 71:
    case 72:
    case 73:
    case 74:
    case PROPERTY_PATH:
    case INT_LITERAL:
    case FLOAT_LITERAL:{
      numericExpression();
      break;
      }
    case CONCAT:
    case SUBSTRING:
    case TRIM:
    case LOWER:
    case UPPER:
    case SINGLE_QUOTED_STRING:
    case DOUBLE_QUOTED_STRING:{
      stringExpression();
      break;
      }
    case NULL:{
ASTScalar jjtn001 = new ASTScalar(JJTSCALAR);
                  boolean jjtc001 = true;
                  jjtree.openNodeScope(jjtn001);
      try {
        jj_consume_token(NULL);
      } finally {
if (jjtc001) {
                    jjtree.closeNodeScope(jjtn001,  0);
                  }
      }
      break;
      }
    case AVG:
    case MIN:
    case MAX:
    case SUM:
    case COUNT:{
      aggregateExpression();
      break;
      }
    case CURRENT_DATE:
    case CURRENT_TIME:
    case CURRENT_TIMESTAMP:{
      dateTimeFunction();
      break;
      }
    default:
      jj_la1[14] = jj_gen;
      jj_consume_token(-1);
      throw new ParseException();
    }
}