Class ReflectiveMethodExecutor

    • Method Detail

      • getPublicDeclaringClass

        public Class<?> getPublicDeclaringClass()
        Find the first public class in the methods declaring class hierarchy that declares this method. Sometimes the reflective method discovery logic finds a suitable method that can easily be called via reflection but cannot be called from generated code when compiling the expression because of visibility restrictions. For example if a non public class overrides toString(), this helper method will walk up the type hierarchy to find the first public type that declares the method (if there is one!). For toString() it may walk as far as Object.
      • execute

        public TypedValue execute​(EvaluationContext context,
                                  Object target,
                                  Object... arguments)
                           throws AccessException
        Description copied from interface: MethodExecutor
        Execute a command using the specified arguments, and using the specified expression state.
        Specified by:
        execute in interface MethodExecutor
        Parameters:
        context - the evaluation context in which the command is being executed
        target - the target object of the call - null for static methods
        arguments - the arguments to the executor, should match (in terms of number and type) whatever the command will need to run
        Returns:
        the value returned from execution
        Throws:
        AccessException - if there is a problem executing the command or the MethodExecutor is no longer valid