@Override public Predicate visitAndExpression(AndFilterExpression expression) { Predicate leftPredicate = expression.getLeft().accept(this); Predicate rightPredicate = expression.getRight().accept(this); return t -> leftPredicate.and(rightPredicate).test(t); }
@Override public Predicate visitAndExpression(AndFilterExpression expression) { Predicate leftPredicate = expression.getLeft().accept(this); Predicate rightPredicate = expression.getRight().accept(this); return t -> leftPredicate.and(rightPredicate).test(t); }
@Override public Boolean visitAndExpression(AndFilterExpression expression) { FilterExpression left = expression.getLeft(); FilterExpression right = expression.getRight(); return left.accept(this) && right.accept(this); }
@Override public String visitAndExpression(AndFilterExpression expression) { FilterExpression left = expression.getLeft(); FilterExpression right = expression.getRight(); return "(" + left.accept(this) + " AND " + right.accept(this) + ")"; }
@Override public Boolean visitAndExpression(AndFilterExpression expression) { FilterExpression left = expression.getLeft(); FilterExpression right = expression.getRight(); return left.accept(this) && right.accept(this); }
@Override public Collection<FilterPredicate> visitAndExpression(AndFilterExpression expression) { expression.getLeft().accept(this); expression.getRight().accept(this); return filterPredicates; }
@Override public Collection<FilterPredicate> visitAndExpression(AndFilterExpression expression) { expression.getLeft().accept(this); expression.getRight().accept(this); return filterPredicates; }
@Override public FilterExpression visitAndExpression(AndFilterExpression expression) { return new AndFilterExpression( expression.getLeft().accept(this), expression.getRight().accept(this)); }
@Override public FilterExpression visitAndExpression(AndFilterExpression expression) { return new AndFilterExpression( expression.getLeft().accept(this), expression.getRight().accept(this)); }
@Override public FilterExpression visitAndExpression(AndFilterExpression expression) { FilterExpression left = expression.getLeft(); FilterExpression right = expression.getRight(); return new AndFilterExpression(left.accept(this), right.accept(this)); }
@Override public FilterExpression visitAndExpression(AndFilterExpression expression) { FilterExpression left = expression.getLeft(); FilterExpression right = expression.getRight(); return new AndFilterExpression(left.accept(this), right.accept(this)); }
@Override public FilterExpression visitNotExpression(NotFilterExpression fe) { FilterExpression inner = fe.getNegated(); if (inner instanceof AndFilterExpression) { AndFilterExpression and = (AndFilterExpression) inner; FilterExpression left = new NotFilterExpression(and.getLeft()).accept(this); FilterExpression right = new NotFilterExpression(and.getRight()).accept(this); return new OrFilterExpression(left, right); } if (inner instanceof OrFilterExpression) { OrFilterExpression or = (OrFilterExpression) inner; FilterExpression left = new NotFilterExpression(or.getLeft()).accept(this); FilterExpression right = new NotFilterExpression(or.getRight()).accept(this); return new AndFilterExpression(left, right); } if (inner instanceof NotFilterExpression) { NotFilterExpression not = (NotFilterExpression) inner; return (not.getNegated()).accept(this); } if (inner instanceof FilterPredicate) { FilterPredicate filter = (FilterPredicate) inner; return filter.negate(); } return inner; } }
@Override public FilterExpression visitNotExpression(NotFilterExpression fe) { FilterExpression inner = fe.getNegated(); if (inner instanceof AndFilterExpression) { AndFilterExpression and = (AndFilterExpression) inner; FilterExpression left = new NotFilterExpression(and.getLeft()).accept(this); FilterExpression right = new NotFilterExpression(and.getRight()).accept(this); return new OrFilterExpression(left, right); } if (inner instanceof OrFilterExpression) { OrFilterExpression or = (OrFilterExpression) inner; FilterExpression left = new NotFilterExpression(or.getLeft()).accept(this); FilterExpression right = new NotFilterExpression(or.getRight()).accept(this); return new AndFilterExpression(left, right); } if (inner instanceof NotFilterExpression) { NotFilterExpression not = (NotFilterExpression) inner; return (not.getNegated()).accept(this); } if (inner instanceof FilterPredicate) { FilterPredicate filter = (FilterPredicate) inner; return filter.negate(); } return inner; } }