public interface Generators
Modifier and Type | Method and Description |
---|---|
<T> Generator<T> |
constructor(Class<T> type,
Class<?>... argumentTypes)
Gives a generator that can produce an instance of the type described
by a constructor of a given type that accepts the given types of
arguments.
|
Generator<?> |
field(Class<?> type,
String fieldName)
Gives a generator that can produce an instance of the type described
by the field with the given name and containing type.
|
Generator<?> |
field(Field field)
Gives a generator that can produce instances of the type of the
given reflected field.
|
<T> Generator<T> |
fieldsOf(Class<T> type)
Gives a generator that can produce an instance of the given type
by reflecting the class's fields on up its class hierarchy and
generating random values for them.
|
<T extends Generator<?>> |
make(Class<T> genType,
Generator<?>... componentGenerators)
Makes a new generator of the given type, provides it with access to
other available generators,
configures it with any configuration annotations present on the
generator type, and supplies it any
component generators it needs.
|
<T> Generator<T> |
oneOf(Class<? extends T> first,
Class<? extends T>... rest)
Gives a generator that can produce instances of one of a given set of
related types on every generation.
|
<T> Generator<T> |
oneOf(Generator<? extends T> first,
Generator<? extends T>... rest)
Gives a generator that can produce instances of one of a given set of
related types on every generation.
|
Generator<?> |
parameter(Parameter parameter)
Gives a generator that can produce instances of the type of the
given reflected method parameter.
|
<T> Generator<T> |
type(Class<T> type)
Gives a generator that can produce values of the given type.
|
<T> Generator<T> oneOf(Class<? extends T> first, Class<? extends T>... rest)
Gives a generator that can produce instances of one of a given set of related types on every generation.
On each generation, one of the available generators that can produce one of the named types will be chosen with (approximately) equal probability.
T
- type of objects produced by the resulting generatorfirst
- first type of generated valuerest
- other (related) types of generated values<T> Generator<T> oneOf(Generator<? extends T> first, Generator<? extends T>... rest)
Gives a generator that can produce instances of one of a given set of related types on every generation.
On each generation, one of the given generators will be called upon with (approximately) equal probability.
T
- type of objects produced by the resulting generatorfirst
- first generatorrest
- other generatorsGenerator<?> field(Class<?> type, String fieldName)
Gives a generator that can produce an instance of the type described by the field with the given name and containing type.
If the field is marked with an annotation that influences the generation of a given kind of value, that annotation will be applied to the resulting generator's values.
type
- containing type for a fieldfieldName
- name of a field<T> Generator<T> constructor(Class<T> type, Class<?>... argumentTypes)
Gives a generator that can produce an instance of the type described by a constructor of a given type that accepts the given types of arguments. It will generate values for the parameters of the given constructor, and then invoke the constructor.
If the constructor's parameters are marked with annotations that influence the generation of a given kind of value, those annotations will be applied to the generators that will produce values to be used as arguments to the constructor.
T
- type of objects produced by the resulting generatortype
- containing type for a constructorargumentTypes
- types of arguments to the constructor<T> Generator<T> fieldsOf(Class<T> type)
Gives a generator that can produce an instance of the given type by reflecting the class's fields on up its class hierarchy and generating random values for them.
The given type must have an accessible zero-arg constructor.
If a field of the given type is marked with an annotation that influences the generation of a given kind of value, that annotation will be applied to the generation of values for that field.
T
- type of objects produced by the resulting generatortype
- a type<T> Generator<T> type(Class<T> type)
Gives a generator that can produce values of the given type.
T
- type of objects produced by the resulting generatortype
- a typeGenerator<?> parameter(Parameter parameter)
Gives a generator that can produce instances of the type of the given reflected method parameter.
If the parameter is marked with an annotation that influences the generation of its value, that annotation will be applied to the generation of values for that parameter's type.
parameter
- a reflected method parameterGenerator<?> field(Field field)
Gives a generator that can produce instances of the type of the given reflected field.
If the field is marked with an annotation that influences the generation of its value, that annotation will be applied to the generation of values for that field's type.
field
- a reflected field<T extends Generator<?>> T make(Class<T> genType, Generator<?>... componentGenerators)
Makes a new generator of the given type, provides it with access to other available generators, configures it with any configuration annotations present on the generator type, and supplies it any component generators it needs.
T
- type of objects produced by the resulting generatorgenType
- type of generator to createcomponentGenerators
- any generators for components of the type© Copyright 2010-2016 Paul R. Holser, Jr. All rights reserved. Licensed under The MIT License. pholser@alumni.rice.edu