/** * Gets the value represented by the given pre-compiled expression on the specified root * object. * * @param expression * The pre-compiled expression, as found in {@link Node#getAccessor()}. * @param context * The ognl context. * @param root * The object to retrieve the expression value from. * @param resultType * The desired object type that the return value should be converted to using the {@link #getTypeConverter(java.util.Map)} }. * @return * The value. */ public static Object getValue(ExpressionAccessor expression, OgnlContext context, Object root, Class resultType) { return getTypeConverter(context).convertValue(context, root, null, null, expression.get(context, root), resultType); }
/** * Gets the value represented by the given pre-compiled expression on the specified root * object. * * @param expression * The pre-compiled expression, as found in {@link Node#getAccessor()}. * @param context * The ognl context. * @param root * The object to retrieve the expression value from. * @param resultType * The desired object type that the return value should be converted to using the {@link #getTypeConverter(java.util.Map)} }. * @return * The value. */ public static Object getValue(ExpressionAccessor expression, OgnlContext context, Object root, Class resultType) { return getTypeConverter(context).convertValue(context, root, null, null, expression.get(context, root), resultType); }
/** * Evaluates the given OGNL expression tree to extract a value from the given root * object. The default context is set for the given context and root via * <CODE>addDefaultContext()</CODE>. * * @param tree the OGNL expression tree to evaluate, as returned by parseExpression() * @param context the naming context for the evaluation * @param root the root object for the OGNL expression * @param resultType the converted type of the resultant object, using the context's type converter * @return the result of evaluating the expression * @throws MethodFailedException if the expression called a method which failed * @throws NoSuchPropertyException if the expression referred to a nonexistent property * @throws InappropriateExpressionException if the expression can't be used in this context * @throws OgnlException if there is a pathological environmental problem */ public static Object getValue( Object tree, Map context, Object root, Class resultType ) throws OgnlException { Object result; OgnlContext ognlContext = (OgnlContext)addDefaultContext(root, context); result = ((Node)tree).getValue( ognlContext, root ); if (resultType != null) { result = getTypeConverter( context ).convertValue( context, root, null, null, result, resultType); } return result; }
result = getTypeConverter(context).convertValue(context, root, null, null, result, resultType);
result = getTypeConverter(context).convertValue(context, root, null, null, result, resultType);