@Override public void visit(ArithmeticFactor expression) { invalid(expression); }
@Override public void visit(BooleanLiteral expression) { invalid(expression); }
@Override public void visit(LePredicate predicate) { invalid(predicate); }
@Override public void visit(NullExpression expression) { invalid(expression); }
@Override public void visit(NumericLiteral expression) { invalid(expression); }
@Override public void visit(IsNullPredicate predicate) { invalid(predicate); }
@Override public void visit(StringLiteral expression) { invalid(expression); }
@Override public void visit(IsEmptyPredicate predicate) { invalid(predicate); }
@Override public void visit(LtPredicate predicate) { invalid(predicate); }
@Override public void visit(SubqueryExpression expression) { invalid(expression); }
@Override public void visit(StringLiteral expression) { invalid(expression); }
@Override public void visit(DateLiteral expression) { invalid(expression); }
@Override public void visit(ExistsPredicate predicate) { invalid(predicate); }
@Override public void visit(ParameterExpression expression) { invalid(expression); }
@Override public void visit(TimeLiteral expression) { invalid(expression); }
@Override public void visit(EqPredicate predicate) { invalid(predicate); }
@Override public void visit(BetweenPredicate predicate) { invalid(predicate); }
@Override public void visit(GePredicate predicate) { invalid(predicate); }
@Override public void visit(ListIndexExpression expression) { expression.getPath().accept(this); Class<?> type = currentPosition.getRealCurrentClass(); if (!List.class.isAssignableFrom(type)) { invalid(expression, "Does not resolve to java.util.List!"); } else { currentPosition.setAttribute(new ListIndexAttribute<>((ListAttribute<?, ?>) currentPosition.getAttribute())); currentPosition.setValueType(null); currentPosition.setKeyType(metamodel.type(Integer.class)); } }
@Override public void visit(ListIndexExpression expression) { expression.getPath().accept(this); Class<?> type = currentPosition.getRealCurrentClass(); if (!List.class.isAssignableFrom(type)) { invalid(expression, "Does not resolve to java.util.List!"); } else { currentPosition.setAttribute(new ListIndexAttribute<>((ListAttribute<?, ?>) currentPosition.getAttribute())); currentPosition.setValueType(null); currentPosition.setKeyType(metamodel.type(Integer.class)); } }