Package net.jqwik.api.lifecycle
Interface LifecycleContext
-
- All Known Subinterfaces:
ContainerLifecycleContext,PropertyLifecycleContext,TryLifecycleContext
@API(status=MAINTAINED, since="1.4.0") public interface LifecycleContextSupertype of all lifecycle context interfaces.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <T extends java.lang.annotation.Annotation>
java.util.Optional<T>findAnnotation(java.lang.Class<T> annotationClass)Retrieve an annotation if present at the current test element.<T extends java.lang.annotation.Annotation>
java.util.List<T>findAnnotationsInContainer(java.lang.Class<T> annotationClass)Retrieve an annotation if present in the current element's containers.java.lang.Stringlabel()The elements label under which it shows up in test reports and IDEs.<T> TnewInstance(java.lang.Class<T> clazz)Create a new instance of aclazzin the context of the property in which it is running.java.util.Optional<java.lang.Class<?>>optionalContainerClass()If the context refers to a class or a method the class or the method's class is returned, otherwiseOptional.empty()java.util.Optional<java.lang.reflect.AnnotatedElement>optionalElement()If the context refers to a class or a method the class or method is returned, otherwiseOptional.empty()Reporterreporter()Get hold of test reporter for publishing additional information on a test container or method.java.util.Optional<ResolveParameterHook.ParameterSupplier>resolveParameter(java.lang.reflect.Executable executable, int index)Resolve a parameter from a method in the context of the property in which it is running.voidwrapReporter(java.util.function.Function<Reporter,Reporter> wrapper)Wrap reporter instance
-
-
-
Method Detail
-
label
java.lang.String label()
The elements label under which it shows up in test reports and IDEs.- Returns:
- a String
-
optionalElement
java.util.Optional<java.lang.reflect.AnnotatedElement> optionalElement()
If the context refers to a class or a method the class or method is returned, otherwiseOptional.empty()- Returns:
- an optional annotated element
-
optionalContainerClass
java.util.Optional<java.lang.Class<?>> optionalContainerClass()
If the context refers to a class or a method the class or the method's class is returned, otherwiseOptional.empty()- Returns:
- an optional annotated element
-
reporter
Reporter reporter()
Get hold of test reporter for publishing additional information on a test container or method.- Returns:
- Current instance to test reporter
-
wrapReporter
@API(status=EXPERIMENTAL, since="1.5.1") void wrapReporter(java.util.function.Function<Reporter,Reporter> wrapper)Wrap reporter instance- Parameters:
wrapper- Wrapping function that takes original reporter and returns a wrapped instance
-
findAnnotation
<T extends java.lang.annotation.Annotation> java.util.Optional<T> findAnnotation(java.lang.Class<T> annotationClass)
Retrieve an annotation if present at the current test element.- Type Parameters:
T- The annotation type- Parameters:
annotationClass- The annotation type- Returns:
- instance of annotation type
-
findAnnotationsInContainer
<T extends java.lang.annotation.Annotation> java.util.List<T> findAnnotationsInContainer(java.lang.Class<T> annotationClass)
Retrieve an annotation if present in the current element's containers. Search up the container stack. Closest container annotations come first in list.- Type Parameters:
T- The annotation type- Parameters:
annotationClass- The annotation type- Returns:
- list of annotation objects
-
newInstance
<T> T newInstance(java.lang.Class<T> clazz)
Create a new instance of aclazzin the context of the property in which it is running. Use this method for instance when trying to instantiate a class retrieved from an annotation's attribute.The behaviour of this method differs from
Class.newInstance()if the class to instantiate is a non-static member of the container class or even a nested container class.- Type Parameters:
T- The type to instantiate- Parameters:
clazz- The class to instantiate- Returns:
- a freshly created instance of class
clazz
-
resolveParameter
java.util.Optional<ResolveParameterHook.ParameterSupplier> resolveParameter(java.lang.reflect.Executable executable, int index)
Resolve a parameter from a method in the context of the property in which it is running.- Parameters:
executable- The executable of the test container the parameter of which should be resolvedindex- The parameter's position in a method - starting with 0.- Returns:
- supplier instance
- Throws:
CannotResolveParameterException- if parameter cannot be resolved
-
-