Package org.instancio
Interface Generator<T>
-
- Type Parameters:
T
- type to generate
- All Superinterfaces:
GeneratorSpec<T>
- All Known Implementing Classes:
AbstractRandomComparableNumberGeneratorSpec
,AbstractRandomGenerator
,AbstractRandomNumberGeneratorSpec
,ArrayGenerator
,AtomicIntegerGenerator
,AtomicLongGenerator
,BigDecimalGenerator
,BigIntegerGenerator
,BooleanGenerator
,ByteGenerator
,CharacterGenerator
,CollectionGenerator
,CollectionGeneratorSpecImpl
,ConcurrentHashMapGenerator
,ConcurrentSkipListMapGenerator
,DateGenerator
,DoubleGenerator
,EnumGenerator
,FloatGenerator
,HashSetGenerator
,InstantiatingGenerator
,IntegerGenerator
,LocalDateGenerator
,LocalDateTimeGenerator
,LongGenerator
,MapGenerator
,MapGeneratorSpecImpl
,OneOfArrayGenerator
,OneOfCollectionGenerator
,ShortGenerator
,StringGenerator
,TreeMapGenerator
,TreeSetGenerator
,UUIDGenerator
,XMLGregorianCalendarGenerator
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface Generator<T> extends GeneratorSpec<T>
A generator of values of a specific type.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description T
generate()
Returns a generated value.default GeneratedHints
getHints()
Returns hints, including collection sizes and whether values are nullable.default boolean
isDelegating()
Iftrue
, then this generator delegate object instantiation to another generator supplied viasetDelegate(Generator)
.default void
setDelegate(Generator<?> delegate)
Set a delegate that will be responsible for instantiating an object on behalf of this generator.default Optional<Class<?>>
targetClass()
Target class to generate.
-
-
-
Method Detail
-
generate
T generate()
Returns a generated value. By default, generated values are random.Generation parameters for common types such as strings, numbers, collections, etc. can be customised by passing in custom generators.
- Returns:
- generated value
-
isDelegating
default boolean isDelegating()
Iftrue
, then this generator delegate object instantiation to another generator supplied viasetDelegate(Generator)
.- Returns:
true
if this is a delegating generator
-
setDelegate
default void setDelegate(Generator<?> delegate)
Set a delegate that will be responsible for instantiating an object on behalf of this generator.- Parameters:
delegate
- that will create the target object
-
targetClass
default Optional<Class<?>> targetClass()
Target class to generate.If
Optional.empty()
is returned, it will default to the field type for fields, and element type for collection and array elements.If the type is an interface, such as
Set
, will generate a default implementation class such asHashSet
.- Returns:
- target class
-
getHints
default GeneratedHints getHints()
Returns hints, including collection sizes and whether values are nullable.- Returns:
- generated hints
-
-