public String visit()

in asterix-graphix/src/main/java/org/apache/asterix/graphix/lang/rewrite/print/SqlppASTPrintQueryVisitor.java [525:609]


    public String visit(OperatorExpr operatorExpr, Void arg) throws CompilationException {
        StringBuilder sb = new StringBuilder();
        sb.append(operatorExpr.getExprList().get(0).accept(this, arg));
        for (int i = 0; i < operatorExpr.getOpList().size(); i++) {
            OperatorType operatorType = operatorExpr.getOpList().get(i);
            switch (operatorType) {
                case OR:
                    sb.append(" OR ");
                    break;
                case AND:
                    sb.append(" AND ");
                    break;
                case LT:
                    sb.append(" < ");
                    break;
                case GT:
                    sb.append(" > ");
                    break;
                case LE:
                    sb.append(" <= ");
                    break;
                case GE:
                    sb.append(" >= ");
                    break;
                case EQ:
                    sb.append(" = ");
                    break;
                case NEQ:
                    sb.append(" != ");
                    break;
                case PLUS:
                    sb.append(" + ");
                    break;
                case MINUS:
                    sb.append(" - ");
                    break;
                case CONCAT:
                    sb.append(" || ");
                    break;
                case MUL:
                    sb.append(" * ");
                    break;
                case DIVIDE:
                    sb.append(" / ");
                    break;
                case DIV:
                    sb.append(" DIV ");
                    break;
                case MOD:
                    sb.append(" MOD ");
                    break;
                case CARET:
                    sb.append(" ^ ");
                    break;
                case LIKE:
                    sb.append(" LIKE ");
                    break;
                case NOT_LIKE:
                    sb.append(" NOT LIKE ");
                    break;
                case IN:
                    sb.append(" IN ");
                    break;
                case NOT_IN:
                    sb.append(" NOT IN ");
                    break;
                case BETWEEN:
                    sb.append(" BETWEEN ");
                    break;
                case NOT_BETWEEN:
                    sb.append(" NOT BETWEEN ");
                    break;
                case DISTINCT:
                    sb.append(" DISTINCT ");
                    break;
                case NOT_DISTINCT:
                    sb.append(" NOT DISTINCT ");
                    break;
                default:
                    throw new IllegalStateException("Illegal operator encountered!");
            }
            sb.append(operatorExpr.getExprList().get(i + 1).accept(this, arg));
        }
        return sb.toString();
    }