Package javax.el

Examples of javax.el.MethodInfo


      FacesContext facesContext = (FacesContext)
    context.getContext(FacesContext.class);
      if (null != facesContext) {
    try {
        //PENDING - we should find a way to provide more information
        info = new MethodInfo(null, binding.getType(facesContext), null);
    }
    catch (Exception e) {
        throw new ELException(e);
    }
      }
View Full Code Here


            String t = expr.substring(idx + 1);
            String method = t.substring(0, (t.length() - 1));
           
            FacesContext context = FacesContext.getCurrentInstance();
            ELContext elContext = context.getELContext();
            MethodInfo controlInfo = expression.getMethodInfo(elContext);
           
            // ensure the method names are the same
            if (!controlInfo.getName().equals(method)) {
                return false;
            }
           
            // Using the target, create an expression and evaluate
            // it.          
            ExpressionFactory factory = context.getApplication().getExpressionFactory();
            ValueExpression ve = factory.createValueExpression(elContext,
                                                               "#{" + target + '}',
                                                               Object.class);
            if (ve == null) {
                return false;
            }               
                                             
            Object result = ve.getValue(elContext);
           
            if (result == null) {
                return false;
            }
           
           
            // Get all of the methods with the matching name and try
            // to find a match based on controlInfo's return and parameter
            // types
            Method[] methods = result.getClass().getMethods();
            for (Method meth : methods) {
                if (meth.getName().equals(method)
                     && meth.getReturnType().equals(controlInfo.getReturnType())
                     && Arrays.equals(meth.getParameterTypes(),
                                      controlInfo.getParamTypes())) {
                    return true;                     
                }
            }
        }
        return false;
View Full Code Here

    }
   
    public static MethodInfo getMethodInfo(Object base, Object property,
            Class[] paramTypes) throws MethodNotFoundException {
        Method m = ReflectionUtil.getMethod(base, property, paramTypes);
        return new MethodInfo(m.getName(), m.getReturnType(), m
                .getParameterTypes());
    }
View Full Code Here

                .getParameterTypes());
    }
   
    public static MethodInfo getMethodInfo(Object base, Object property, Object[] paramValues) throws MethodNotFoundException {
        Method m = ReflectionUtil.findMethod(base, property, paramValues);
        return new MethodInfo(m.getName(), m.getReturnType(), m
                .getParameterTypes());
    }
View Full Code Here

            {
                methodInfo = invoke(new Invoker<MethodInfo>()
                {
                    public MethodInfo invoke()
                    {
                        return new MethodInfo(null, methodBinding.getType(facesContext), null);
                    }
                });
            }
        }
        return methodInfo;
View Full Code Here

    {
        _MethodBindingToMethodExpression testimpl = new _MethodBindingToMethodExpression(_methodBinding);
        Class<Date> expectedReturnType = Date.class;
        expect(_methodBinding.getType(same(_facesContext))).andReturn(expectedReturnType);
        _mocksControl.replay();
        MethodInfo methodInfo = testimpl.getMethodInfo(_elContext);
        assertNotNull(methodInfo);
        // assertNull(methodInfo.getName());
        assertEquals(expectedReturnType, methodInfo.getReturnType());
        // assertNull(methodInfo.getParamTypes());
        _mocksControl.verify();
        _mocksControl.reset();

        assertGetMethodInfoException(MethodNotFoundException.class, new javax.faces.el.MethodNotFoundException());
View Full Code Here

    public MethodInfo getMethodInfo(EvaluationContext ctx, Class[] paramTypes)
            throws ELException {
        Target t = getTarget(ctx);
        Method m = ReflectionUtil.getMethod(t.base, t.property, paramTypes);
        return new MethodInfo(m.getName(), m.getReturnType(), m
                .getParameterTypes());
    }
View Full Code Here

    if (methodInfo == null) {
      final FacesContext facesContext = (FacesContext) context.getContext(FacesContext.class);
      if (facesContext != null) {
        methodInfo = invoke(new Invoker<MethodInfo>() {
          public MethodInfo invoke() {
            return new MethodInfo(null, methodBinding.getType(facesContext), null);
          }
        });
      }
    }
    return methodInfo;
View Full Code Here

      FacesContext facesContext = (FacesContext)
    context.getContext(FacesContext.class);
      if (null != facesContext) {
    try {
        //PENDING - we should find a way to provide more information
        info = new MethodInfo(null, binding.getType(facesContext), null);
    }
    catch (Exception e) {
        throw new ELException(e);
    }
      }
View Full Code Here

            String t = expr.substring(idx + 1);
            String method = t.substring(0, (t.length() - 1));
           
            FacesContext context = FacesContext.getCurrentInstance();
            ELContext elContext = context.getELContext();
            MethodInfo controlInfo = expression.getMethodInfo(elContext);
           
            // ensure the method names are the same
            if (!controlInfo.getName().equals(method)) {
                return false;
            }
           
            // Using the target, create an expression and evaluate
            // it.          
            ExpressionFactory factory = context.getApplication().getExpressionFactory();
            ValueExpression ve = factory.createValueExpression(elContext,
                                                               "#{" + target + '}',
                                                               Object.class);
            if (ve == null) {
                return false;
            }               
                                             
            Object result = ve.getValue(elContext);
           
            if (result == null) {
                return false;
            }
           
           
            // Get all of the methods with the matching name and try
            // to find a match based on controlInfo's return and parameter
            // types
            Method[] methods = result.getClass().getMethods();
            for (Method meth : methods) {
                if (meth.getName().equals(method)
                     && meth.getReturnType().equals(controlInfo.getReturnType())
                     && Arrays.equals(meth.getParameterTypes(),
                                      controlInfo.getParamTypes())) {
                    return true;                     
                }
            }
        }
        return false;
View Full Code Here

TOP

Related Classes of javax.el.MethodInfo

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.