@Override public Expression visit(IsNullPredicate predicate) { boolean original = joinRequired; joinRequired = false; super.visit(predicate); joinRequired = original; return predicate; }
@Override public Expression visit(MemberOfPredicate predicate) { return visit((BinaryExpressionPredicate) predicate); }
@Override public Expression visit(LikePredicate predicate) { return visit((BinaryExpressionPredicate) predicate); }
@Override public Expression visit(EqPredicate predicate) { return visit((BinaryExpressionPredicate) predicate); }
@Override public Expression visit(MemberOfPredicate predicate) { return visit((BinaryExpressionPredicate) predicate); }
@Override public Expression visit(EqPredicate predicate) { boolean original = joinRequired; joinRequired = false; super.visit(predicate); joinRequired = original; return predicate; }
@Override public Expression visit(MemberOfPredicate predicate) { boolean original = joinRequired; joinRequired = false; super.visit(predicate); joinRequired = original; return predicate; }
@Override public Expression visit(InPredicate predicate) { boolean original = joinRequired; joinRequired = false; super.visit(predicate); joinRequired = original; return predicate; }
@Override public Expression visit(IsEmptyPredicate predicate) { boolean original = joinRequired; joinRequired = false; super.visit(predicate); joinRequired = original; return predicate; }
@Override public Expression visit(ExistsPredicate predicate) { inExists = true; try { return super.visit(predicate); } finally { inExists = false; } }
@Override public Expression visit(GtPredicate predicate) { return visit((BinaryExpressionPredicate) predicate); }
@Override public Expression visit(GePredicate predicate) { return visit((BinaryExpressionPredicate) predicate); }
@Override public Expression visit(LePredicate predicate) { return visit((BinaryExpressionPredicate) predicate); }
@Override public Expression visit(LtPredicate predicate) { return visit((BinaryExpressionPredicate) predicate); }
@Override public Expression visit(LePredicate predicate) { return visit((BinaryExpressionPredicate) predicate); }
@Override public Expression visit(TypeFunctionExpression expression) { return visit((FunctionExpression) expression); }
@Override public Expression visit(EqPredicate predicate) { return visit((BinaryExpressionPredicate) predicate); }
@Override public Expression visit(PathExpression expression) { CorrelationTransformEntry entry = pathsToCorrelate.get(expression); if (entry == null) { return super.visit(expression); } else { return entry.transformedExpression; } }
@Override public Expression visit(SimpleCaseExpression expression) { expression.setCaseOperand(expression.getCaseOperand().accept(this)); return visit((GeneralCaseExpression) expression); }
@Override public Expression visit(SimpleCaseExpression expression) { expression.setCaseOperand(expression.getCaseOperand().accept(this)); return visit((GeneralCaseExpression) expression); }