@Override public Expression visit(ArrayExpression expression) { Expression newBase = expression.getBase().accept(this); Expression newIndex = expression.getIndex().accept(this); if (expression.getBase() != newBase || expression.getIndex() != newIndex) { return new ArrayExpression((PropertyExpression) newBase, newIndex); } return expression; }
@Override public Expression visit(SimpleCaseExpression expression) { expression = (SimpleCaseExpression) visit((GeneralCaseExpression) expression); return new SimpleCaseExpression(expression.getCaseOperand().accept(this), expression.getWhenClauses(), expression.getDefaultExpr()); }
@Override public Expression visit(SimpleCaseExpression expression) { expression.setCaseOperand(expression.getCaseOperand().accept(this)); return visit((GeneralCaseExpression) expression); }
@Override public void visit(SimpleCaseExpression expression) { expression.getCaseOperand().accept(this); visit((GeneralCaseExpression) expression); }
@Override public Boolean visit(SimpleCaseExpression expression) { if (expression.getCaseOperand().accept(this)) { return true; } return visit((GeneralCaseExpression) expression); }
@Override public Boolean visit(TrimExpression expression) { if (expression.getTrimCharacter() != null && expression.getTrimCharacter().accept(this)) { return true; } return expression.getTrimSource().accept(this); }
@Override public Expression visit(SimpleCaseExpression expression) { expression = (SimpleCaseExpression) visit((GeneralCaseExpression) expression); return new SimpleCaseExpression(expression.getCaseOperand().accept(this), expression.getWhenClauses(), expression.getDefaultExpr()); }
@Override public Expression visit(SimpleCaseExpression expression) { expression.setCaseOperand(expression.getCaseOperand().accept(this)); return visit((GeneralCaseExpression) expression); }
@Override public void visit(SimpleCaseExpression expression) { expression.getCaseOperand().accept(this); visit((GeneralCaseExpression) expression); }
@Override public Expression visit(ArrayExpression expression) { Expression newBase = expression.getBase().accept(this); Expression newIndex = expression.getIndex().accept(this); if (expression.getBase() != newBase || expression.getIndex() != newIndex) { return new ArrayExpression((PropertyExpression) newBase, newIndex); } return expression; }