Class ExecutableInvoker
java.lang.Object
org.junit.jupiter.engine.execution.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
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceExecutableInvoker.ReflectiveInterceptorCall<E extends java.lang.reflect.Executable,T> -
Constructor Summary
Constructors Constructor Description ExecutableInvoker() -
Method Summary
Modifier and Type Method Description <T> Tinvoke(java.lang.reflect.Constructor<T> constructor, java.util.Optional<java.lang.Object> outerInstance, org.junit.jupiter.api.extension.ExtensionContext extensionContext, ExtensionRegistry extensionRegistry, ExecutableInvoker.ReflectiveInterceptorCall<java.lang.reflect.Constructor<T>,T> interceptorCall)Invoke the supplied constructor with the supplied outer instance and dynamic parameter resolution.<T> Tinvoke(java.lang.reflect.Method method, java.lang.Object target, org.junit.jupiter.api.extension.ExtensionContext extensionContext, ExtensionRegistry extensionRegistry, ExecutableInvoker.ReflectiveInterceptorCall<java.lang.reflect.Method,T> interceptorCall)Invoke the suppliedstaticmethod with dynamic parameter resolution.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
ExecutableInvoker
public ExecutableInvoker()
-
-
Method Details
-
invoke
public <T> T invoke(java.lang.reflect.Constructor<T> constructor, java.util.Optional<java.lang.Object> outerInstance, org.junit.jupiter.api.extension.ExtensionContext extensionContext, ExtensionRegistry extensionRegistry, ExecutableInvoker.ReflectiveInterceptorCall<java.lang.reflect.Constructor<T>,T> interceptorCall)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 forouterInstance- the outer instance to supply as the first argument to the constructor; empty, for top-level classesextensionContext- the currentExtensionContextextensionRegistry- theExtensionRegistryto retrieveParameterResolversfrominterceptorCall- the call for intercepting this constructor invocation via all registered interceptors
-
invoke
public <T> T invoke(java.lang.reflect.Method method, java.lang.Object target, org.junit.jupiter.api.extension.ExtensionContext extensionContext, ExtensionRegistry extensionRegistry, ExecutableInvoker.ReflectiveInterceptorCall<java.lang.reflect.Method,T> interceptorCall)Invoke the suppliedstaticmethod with dynamic parameter resolution.- Parameters:
method- the method to invoke and resolve parameters forextensionContext- the currentExtensionContextextensionRegistry- theExtensionRegistryto retrieveParameterResolversfrominterceptorCall- the call for intercepting this method invocation via all registered interceptors
-