Package net.jqwik.api.lifecycle
Interface Store<T>
- 
@API(status=EXPERIMENTAL, since="1.2.3") public interface Store<T>Experimental feature. Not ready for public usage yet. 
- 
- 
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceStore.CloseOnResetAny value that implements this interface will automatically be closed when its store goes out of scope.static classStore.StoreFacade 
- 
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description static <T> Store<T>create(java.lang.Object identifier, Lifespan lifespan, java.util.function.Supplier<T> initialValueSupplier)Create a new store for storing and retrieving values and objects in lifecycle hooks and lifecycle-dependent methods.static <T> Store<T>free(java.util.function.Supplier<T> initializer)Create a "free" store, i.e. one that lives independently from a test run, property or try.Tget()static <T> Store<T>get(java.lang.Object identifier)Retrieve a store that must be created somewhere else.static <T> Store<T>getOrCreate(java.lang.Object identifier, Lifespan lifespan, java.util.function.Supplier<T> initialValueSupplier)Find an existing store or create a new one if it doesn't exist.Lifespanlifespan()voidreset()voidupdate(java.util.function.Function<T,T> updater) 
 - 
 
- 
- 
Method Detail
- 
get
T get()
 
- 
lifespan
Lifespan lifespan()
 
- 
reset
@API(status=INTERNAL, since="1.6.3") void reset() 
- 
create
static <T> Store<T> create(java.lang.Object identifier, Lifespan lifespan, java.util.function.Supplier<T> initialValueSupplier)
Create a new store for storing and retrieving values and objects in lifecycle hooks and lifecycle-dependent methods.Stores are created with respect to the current test / property. Therefore you _must not save created stores in member variables_, unless the containing object is unique per test / property.
- Type Parameters:
 T- The type of object to store- Parameters:
 identifier- Any object to identify a store. Must be globally unique and stable, i.e. hashCode and equals must not change.lifespan- A stored object's lifespaninitialValueSupplier- Supplies the value to be used for initializing the store depending on its lifespan- Returns:
 - New store instance
 
 
- 
getOrCreate
static <T> Store<T> getOrCreate(java.lang.Object identifier, Lifespan lifespan, java.util.function.Supplier<T> initialValueSupplier)
Find an existing store or create a new one if it doesn't exist.Stores are created with respect to the current test / property. Therefore you _must not save created stores in member variables_, unless the containing object is unique per test / property.
- Type Parameters:
 T- The type of object to store- Parameters:
 identifier- Any object to identify a store. Must be globally unique and stable, i.e. hashCode and equals must not change.lifespan- A stored object's lifespaninitialValueSupplier- Supplies the value to be used for initializing the store depending on its lifespan- Returns:
 - New or existing store instance
 
 
- 
get
static <T> Store<T> get(java.lang.Object identifier)
Retrieve a store that must be created somewhere else.- Type Parameters:
 T- The type of object to store- Parameters:
 identifier- Any object to identify a store. Must be globally unique and stable, i.e. hashCode and equals must not change.- Returns:
 - Existing store instance
 - Throws:
 CannotFindStoreException
 
- 
free
@API(status=EXPERIMENTAL, since="1.5.0") static <T> Store<T> free(java.util.function.Supplier<T> initializer)Create a "free" store, i.e. one that lives independently from a test run, property or try.- Type Parameters:
 T- The type of object to store- Parameters:
 initializer- Supplies the value to be used for initializing the store depending on its lifespan- Returns:
 - New store instance
 
 
 - 
 
 -