Interface ResolveParameterHook

  • All Superinterfaces:
    LifecycleHook
    All Known Implementing Classes:
    PerProperty.PerPropertyHook
    Functional Interface:
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

    @API(status=EXPERIMENTAL,
         since="1.2.4")
    @FunctionalInterface
    public interface ResolveParameterHook
    extends LifecycleHook
    This hook type allows to provide parameters for property methods but also to annotated lifecycle methods.
    • Method Detail

      • resolve

        @API(status=EXPERIMENTAL,
             since="1.2.5")
        java.util.Optional<ResolveParameterHook.ParameterSupplier> resolve​(ParameterResolutionContext parameterContext,
                                                                           LifecycleContext lifecycleContext)
        This method will be called only once per property, whereas the returned supplier's get method is usually invoked for each try - and potentially more often during shrinking or when resolving parameters in before/after methods. The returned supplier should always return an equivalent object, i.e. an object that behaves the same when used in the same way.
        Parameters:
        parameterContext - Contains information of parameter to resolve
        lifecycleContext - Can be of type ContainerLifecycleContext or PropertyLifecycleContext
        Returns:
        supplier instance wrapped in Optional or Optional.empty() if it cannot be resolved