T - The type of generated objects. Primitive objects (e.g. int, boolean etc.) are represented by their boxed
            type (e.g. Integer, Boolean).@API(status=STABLE,
     since="1.0")
public interface Arbitrary<T>
| Modifier and Type | Interface and Description | 
|---|---|
static class  | 
Arbitrary.ArbitraryFacade  | 
| Modifier and Type | Method and Description | 
|---|---|
default java.util.Optional<java.util.stream.Stream<T>> | 
allValues()
Create optional stream of all possible values this arbitrary could generate. 
 | 
default <A> SizableArbitrary<A> | 
array(java.lang.Class<A> arrayClass)
Create a new arbitrary of type  
T[] using the existing arbitrary for generating the elements of the array. | 
default java.util.Optional<ExhaustiveGenerator<T>> | 
exhaustive()
Create the exhaustive generator for an arbitrary 
 | 
default Arbitrary<T> | 
filter(java.util.function.Predicate<T> filterPredicate)
Create a new arbitrary of the same type  
T that creates and shrinks the original arbitrary but only allows
 values that are accepted by the filterPredicate. | 
default Arbitrary<T> | 
fixGenSize(int genSize)
Fix the genSize of an arbitrary so that it can no longer be influenced from outside 
 | 
default <U> Arbitrary<U> | 
flatMap(java.util.function.Function<T,Arbitrary<U>> mapper)
Create a new arbitrary of type  
U that uses the values of the existing arbitrary to create a new arbitrary
 using the mapper function. | 
RandomGenerator<T> | 
generator(int genSize)
Create the random generator for an arbitrary 
 | 
default Arbitrary<T> | 
injectNull(double nullProbability)
Create a new arbitrary of the same type but inject null values with a probability of  
nullProbability. | 
default SizableArbitrary<java.util.Iterator<T>> | 
iterator()
Create a new arbitrary of type  
Iterable<T> using the existing arbitrary for generating the elements of the
 stream. | 
default SizableArbitrary<java.util.List<T>> | 
list()
Create a new arbitrary of type  
List<T> using the existing arbitrary for generating the elements of the list. | 
default <U> Arbitrary<U> | 
map(java.util.function.Function<T,U> mapper)
Create a new arbitrary of type  
U that maps the values of the original arbitrary using the mapper
 function. | 
default Arbitrary<java.util.Optional<T>> | 
optional()
Create a new arbitrary of type  
Optional<T> using the existing arbitrary for generating the elements of the
 stream. | 
default SizableArbitrary<java.util.Set<T>> | 
set()
Create a new arbitrary of type  
Set<T> using the existing arbitrary for generating the elements of the set. | 
default SizableArbitrary<java.util.stream.Stream<T>> | 
stream()
Create a new arbitrary of type  
Stream<T> using the existing arbitrary for generating the elements of the
 stream. | 
default Arbitrary<T> | 
unique()
Create a new arbitrary of the same type  
T that creates and shrinks the original arbitrary but will
 never generate the same value twice. | 
default Arbitrary<T> | 
withSamples(T... samples)
Create a new arbitrary of the same type but inject values in  
samples first before continuing with standard
 value generation. | 
RandomGenerator<T> generator(int genSize)
genSize - a very unspecific configuration parameter that can be used
                to influence the configuration and behaviour of a random generator
                if and only if the generator wants to be influenced.
                Many generators are independent of genSize.
                The default value of genSize is the number of tries configured
                for a property. Use fixGenSize(int) to fix
                the parameter for a given arbitrary.default java.util.Optional<ExhaustiveGenerator<T>> exhaustive()
default java.util.Optional<java.util.stream.Stream<T>> allValues()
default Arbitrary<T> filter(java.util.function.Predicate<T> filterPredicate)
T that creates and shrinks the original arbitrary but only allows
 values that are accepted by the filterPredicate.JqwikException - if filtering will fail to come up with a value after 10000 triesdefault <U> Arbitrary<U> map(java.util.function.Function<T,U> mapper)
U that maps the values of the original arbitrary using the mapper
 function.default <U> Arbitrary<U> flatMap(java.util.function.Function<T,Arbitrary<U>> mapper)
U that uses the values of the existing arbitrary to create a new arbitrary
 using the mapper function.default Arbitrary<T> injectNull(double nullProbability)
nullProbability.default Arbitrary<T> unique()
T that creates and shrinks the original arbitrary but will
 never generate the same value twice.JqwikException - if filtering will fail to come up with a value after 10000 triesdefault Arbitrary<T> withSamples(T... samples)
samples first before continuing with standard
 value generation.@API(status=EXPERIMENTAL,
     since="1.0")
default Arbitrary<T> fixGenSize(int genSize)
default SizableArbitrary<java.util.List<T>> list()
List<T> using the existing arbitrary for generating the elements of the list.default SizableArbitrary<java.util.Set<T>> set()
Set<T> using the existing arbitrary for generating the elements of the set.default SizableArbitrary<java.util.stream.Stream<T>> stream()
Stream<T> using the existing arbitrary for generating the elements of the
 stream.default SizableArbitrary<java.util.Iterator<T>> iterator()
Iterable<T> using the existing arbitrary for generating the elements of the
 stream.default <A> SizableArbitrary<A> array(java.lang.Class<A> arrayClass)
T[] using the existing arbitrary for generating the elements of the array.arrayClass - The arrays class to create, e.g. String[].class. This is required due to limitations in Java's
            reflection capabilities.