Package net.jqwik.api
Interface ArbitrarySupplier<T>
-
- All Superinterfaces:
java.util.function.Supplier<Arbitrary<T>>
- All Known Implementing Classes:
ArbitrarySupplier.NONE
@API(status=MAINTAINED, since="1.7.0") public interface ArbitrarySupplier<T> extends java.util.function.Supplier<Arbitrary<T>>Implementations of this class are used to provide single arbitraries forForAllparameters and parameter types annotated withFrom. UseForAll.supplier()orFrom.supplier()attributes to specify the actual implementation class.Either
supplyFor(TypeUsage)orget()must be overridden. But not both.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classArbitrarySupplier.NONE
-
Method Summary
All Methods Instance Methods Default Methods Modifier and Type Method Description default @Nullable Arbitrary<T>get()Override this method if generating the arbitrary is straightforward.default @Nullable Arbitrary<T>supplyFor(TypeUsage targetType)Override this method if you need more information about the target type, e.g. annotations or type parameters.
-
-
-
Method Detail
-
supplyFor
@Nullable default @Nullable Arbitrary<T> supplyFor(TypeUsage targetType)
Override this method if you need more information about the target type, e.g. annotations or type parameters.This method takes precedence if both
supplyFor(TypeUsage)andget()are overridden.- Parameters:
targetType- Specifies the type to generate.- Returns:
- A new arbitrary instance
-
get
@Nullable default @Nullable Arbitrary<T> get()
Override this method if generating the arbitrary is straightforward. This is probably the standard usage.Mind that
supplyFor(TypeUsage)takes precedence if bothsupplyFor(TypeUsage)andget()are overridden.- Specified by:
getin interfacejava.util.function.Supplier<T>- Returns:
- A new arbitrary instance
-
-