@Override public T evaluate(IExpressionContext<T> context) throws ExpressionEvaluationException { T exprResult = operand.evaluate(context.populateContext()); IExpressionSupport<T> expressionSupport = context.getExpressionSupport(); switch (type) { case NOT: return expressionSupport.not(exprResult); case IS_NULL: return expressionSupport.isNull(exprResult); case IS_NOT_NULL: return expressionSupport.isNotNull(exprResult); } throw new ExpressionEvaluationException( "Wrong expression type = [" + type + "] for unary expression."); }
@Override public T evaluate(IExpressionContext<T> context) throws ExpressionEvaluationException { IExpressionSupport<T> expressionSupport = context.getExpressionSupport(); return expressionSupport.identifier(parentEntity, identifiedField, alias); }