public void visit(ClauseType clauseType, Expression expression) { this.fromClause = clauseType; try { expression.accept(this); } finally { this.fromClause = null; } }
@Override public void setExpression(Expression expression) { super.setExpression(expression); this.expressionString = expression.toString(); }
public Expression splitOff(Expression expression, Expression expressionToSplit, String subAttribute) { this.expressionToSplit = expressionToSplit; this.subAttribute = subAttribute; try { return expression.accept(this); } finally { this.expressionToSplit = null; this.subAttribute = null; } } }
@Override public void set(Expression expression) { super.set(expression); this.expressionString = expression.toString(); }
@Override public FunctionExpression clone(boolean resolved) { int size = expressions.size(); List<Expression> newExpressions = new ArrayList<Expression>(size); for (int i = 0; i < size; i++) { newExpressions.add(expressions.get(i).clone(resolved)); } return new FunctionExpression(functionName, newExpressions); }
@Override public Expression visitLike_expression(JPQLSelectExpressionParser.Like_expressionContext ctx) { // @formatter:off return new LikePredicate( ctx.string_expression().accept(this), ctx.pattern_value().accept(this), true, ctx.escape_character() != null ? ctx.escape_character().accept(this).toString().charAt(1) : null, ctx.not != null); // @formatter:on }
@Override public FunctionExpression clone(boolean resolved) { int size = expressions.size(); List<Expression> newExpressions = new ArrayList<Expression>(size); for (int i = 0; i < size; i++) { newExpressions.add(expressions.get(i).clone(resolved)); } return new FunctionExpression(functionName, newExpressions); }
@Override public TypeFunctionExpression clone(boolean resolved) { return new TypeFunctionExpression(expressions.get(0).clone(resolved)); } }
@Override public TypeFunctionExpression clone(boolean resolved) { return new TypeFunctionExpression(expressions.get(0).clone(resolved)); } }
@Override public Boolean visit(FunctionExpression expression) { List<Expression> expressions = expression.getExpressions(); int size = expressions.size(); for (int i = 0; i < size; i++) { if (expressions.get(i).accept(this)) { return true; } } return false; }
void applyFrom(GroupByManager groupByManager) { for (NodeInfo info : groupByManager.groupByInfos) { groupBy(subqueryInitFactory.reattachSubqueries(info.getExpression().clone(true), ClauseType.GROUP_BY)); } }
void acceptVisitor(Visitor v) { for (NodeInfo groupBy : groupByInfos) { groupBy.getExpression().accept(v); } }
void acceptVisitor(Expression.Visitor v) { List<OrderByInfo> infos = orderByInfos; int size = infos.size(); for (int i = 0; i < size; i++) { final OrderByInfo orderByInfo = infos.get(i); orderByInfo.getExpression().accept(v); } }
<X> X acceptVisitor(ResultVisitor<X> v, X stopValue) { for (int i = 0; i < selectInfos.size(); i++) { final SelectInfo selectInfo = selectInfos.get(i); if (stopValue.equals(selectInfo.getExpression().accept(v))) { return stopValue; } } return null; }