*
* @see javax.el.ValueExpression#getValue(javax.el.ELContext)
*/
public Object getValue(ELContext context) throws PropertyNotFoundException,
ELException {
EvaluationContext ctx = new EvaluationContext(context, this.fnMapper,
this.varMapper);
ctx.notifyBeforeEvaluation(this.expr);
Object value = this.getNode().getValue(ctx);
if (this.expectedType != null) {
try {
value = ctx.convertToType(value, this.expectedType);
} catch (IllegalArgumentException ex) {
throw new ELException(ex);
}
}
ctx.notifyAfterEvaluation(this.expr);
return value;
}