Class ExecutableInvoker



  • @API(status=INTERNAL,
         since="5.0")
    public class ExecutableInvoker
    extends java.lang.Object
    ExecutableInvoker encapsulates the invocation of a Executable (i.e., method or constructor), including support for dynamic resolution of method parameters via ParameterResolvers.
    Since:
    5.0
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      <T> T invoke​(java.lang.reflect.Constructor<T> constructor, java.lang.Object outerInstance, ExtensionContext extensionContext, ExtensionRegistry extensionRegistry)
      Invoke the supplied constructor with the supplied outer instance and dynamic parameter resolution.
      <T> T invoke​(java.lang.reflect.Constructor<T> constructor, ExtensionContext extensionContext, ExtensionRegistry extensionRegistry)
      Invoke the supplied constructor with dynamic parameter resolution.
      java.lang.Object invoke​(java.lang.reflect.Method method, java.lang.Object target, ExtensionContext extensionContext, ExtensionRegistry extensionRegistry)
      Invoke the supplied method on the supplied target object with dynamic parameter resolution.
      java.lang.Object invoke​(java.lang.reflect.Method method, ExtensionContext extensionContext, ExtensionRegistry extensionRegistry)
      Invoke the supplied static method with dynamic parameter resolution.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ExecutableInvoker

        public ExecutableInvoker​()
    • Method Detail

      • invoke

        public <T> T invoke​(java.lang.reflect.Constructor<T> constructor,
                            ExtensionContext extensionContext,
                            ExtensionRegistry extensionRegistry)
        Invoke the supplied constructor with dynamic parameter resolution.
        Parameters:
        constructor - the constructor to invoke and resolve parameters for
        extensionContext - the current ExtensionContext
        extensionRegistry - the ExtensionRegistry to retrieve ParameterResolvers from
      • invoke

        public <T> T invoke​(java.lang.reflect.Constructor<T> constructor,
                            java.lang.Object outerInstance,
                            ExtensionContext extensionContext,
                            ExtensionRegistry extensionRegistry)
        Invoke the supplied constructor with the supplied outer instance and dynamic parameter resolution.

        This method should only be used to invoke the constructor for an inner class.

        Parameters:
        constructor - the constructor to invoke and resolve parameters for
        outerInstance - the outer instance to supply as the first argument to the constructor
        extensionContext - the current ExtensionContext
        extensionRegistry - the ExtensionRegistry to retrieve ParameterResolvers from
      • invoke

        public java.lang.Object invoke​(java.lang.reflect.Method method,
                                       ExtensionContext extensionContext,
                                       ExtensionRegistry extensionRegistry)
        Invoke the supplied static method with dynamic parameter resolution.
        Parameters:
        method - the method to invoke and resolve parameters for
        extensionContext - the current ExtensionContext
        extensionRegistry - the ExtensionRegistry to retrieve ParameterResolvers from
      • invoke

        public java.lang.Object invoke​(java.lang.reflect.Method method,
                                       java.lang.Object target,
                                       ExtensionContext extensionContext,
                                       ExtensionRegistry extensionRegistry)
        Invoke the supplied method on the supplied target object with dynamic parameter resolution.
        Parameters:
        method - the method to invoke and resolve parameters for
        target - the object on which the method will be invoked; should be null for static methods
        extensionContext - the current ExtensionContext
        extensionRegistry - the ExtensionRegistry to retrieve ParameterResolvers from