Package org.instancio.generators
Class Generators
java.lang.Object
org.instancio.generators.Generators
This class provides access to built-in generators.
It can be used to customise random values generated by built-in generators. This includes numeric, collection sizes, string lengths, etc.
- Since:
- 1.0.1
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<T> ArrayGeneratorSpec<T> array()Customises generated arrays.atomic()Provides access to atomic generators.booleans()Customises generatedvalues.invalid reference
booleanbytes()Customises generatedBytevalues.chars()Customises generatedvalues.invalid reference
charchecksum()Provides access to checksum generators.<T> CollectionGeneratorSpec<T> Customises generated collections.doubles()Customises generatedDoublevalues.<T> EmitGeneratorSpec<T> emit()Emits provided items.<E extends Enum<E>>
EnumAsGeneratorSpec<E> Customises generated enum values.<E extends Enum<E>>
EnumSetGeneratorSpec<E> Customises generatedEnumSet.finance()Provides access to finance-related generators.floats()Customises generatedFloatvalues.hash()Generates various types of hashes.id()Provides access to identifier generators.ints()Customises generatedIntegervalues.intSeq()AnIntegersequence generator.io()Provides access to IO generators.longs()Customises generatedLongvalues.longSeq()ALongsequence generator.<K,V> MapGeneratorSpec <K, V> map()Customises generated maps.math()Provides generators forjava.mathclasses.net()Provides generators forjava.netclasses.nio()Provides access to NIO generators.final <T> NullableGeneratorSpec<T> oneOf(Collection<T> choices) Picks a random value from the given choices.final <T> NullableGeneratorSpec<T> oneOf(T... choices) Picks a random value from the given choices.final <T> OptionalGeneratorSpec<T> optional()Customises generatedOptional.shorts()Customises generatedShortvalues.string()Customises generatedStringvalues.temporal()Provides access to temporal generators.text()Provides access to text generators.
-
Constructor Details
-
Generators
-
-
Method Details
-
string
Customises generatedStringvalues.- Returns:
- customised generator
-
booleans
Customises generatedvalues.invalid reference
boolean- Returns:
- customised generator
- Since:
- 2.0.0
-
chars
Customises generatedvalues.invalid reference
char- Returns:
- customised generator
- Since:
- 2.0.0
-
bytes
Customises generatedBytevalues.- Returns:
- customised generator
-
shorts
Customises generatedShortvalues.- Returns:
- customised generator
-
ints
Customises generatedIntegervalues.- Returns:
- customised generator
-
intSeq
AnIntegersequence generator.- Returns:
- sequence generator
- Since:
- 2.13.0
-
longs
Customises generatedLongvalues.- Returns:
- customised generator
-
longSeq
ALongsequence generator.- Returns:
- sequence generator
- Since:
- 2.13.0
-
floats
Customises generatedFloatvalues.- Returns:
- customised generator
-
doubles
Customises generatedDoublevalues.- Returns:
- customised generator
-
enumOf
Customises generated enum values.- Type Parameters:
E- enum type- Parameters:
enumClass- type of enum to generate- Returns:
- customised generator
-
math
Provides generators forjava.mathclasses.- Returns:
- built-in generators for
java.mathclasses.
-
net
Provides generators forjava.netclasses.- Returns:
- built-in generators for
java.netclasses. - Since:
- 2.3.0
-
oneOf
Picks a random value from the given choices.- Type Parameters:
T- element type- Parameters:
choices- to choose from- Returns:
- generator for making a selection
-
oneOf
Picks a random value from the given choices.- Type Parameters:
T- element type- Parameters:
choices- to choose from- Returns:
- generator for making a selection
-
optional
Customises generatedOptional.- Type Parameters:
T- the type of value- Returns:
- optional generator spec
- Since:
- 2.14.0
-
array
Customises generated arrays.- Type Parameters:
T- array component type- Returns:
- customised generator
-
collection
Customises generated collections.- Type Parameters:
T- element type- Returns:
- customised generator
-
enumSet
Customises generatedEnumSet.- Type Parameters:
E- enum type- Parameters:
enumClass- contained by the generated enum set- Returns:
- customised generator
- Since:
- 2.0.0
-
map
Customises generated maps.- Type Parameters:
K- key typeV- value type- Returns:
- customised generator
-
emit
Emits provided items. This generator would typically be used to generate collections containing different expected values.The following example generates a list of 7 orders with different statuses: 1 received, 1 shipped, 3 completed, and 2 cancelled.
List<Order> orders = Instancio.ofList(Order.class) .size(7) .generate(field(Order::getStatus), gen -> gen.emit() .items(OrderStatus.RECEIVED, OrderStatus.SHIPPED) .item(OrderStatus.COMPLETED, 3) .item(OrderStatus.CANCELLED, 2)) .create();If the selector target is a group, then each selector will have its own copy of items, for example:
// Given class FooBar { String foo; String bar; } TargetSelector fooAndBarFields = Select.all( field(FooBar::getFoo), field(FooBar::getBar)); // When FooBar result = Instancio.of(FooBar.class) .generate(fooAndBarFields, gen -> gen.emit().items("BAZ")) .create(); // Then => FooBar[foo=BAZ, bar=BAZ]Warning: special care must be taken to ensure that the selector associated with
emit()matches only the expected target and nothing else. Failure to do so may produce unexpected results.- Type Parameters:
T- the type to emit- Returns:
- emitting generator
- Since:
- 2.12.0
-
atomic
Provides access to atomic generators.- Returns:
- built-in atomic generators
-
checksum
Provides access to checksum generators.- Returns:
- built-in checksum generators
- Since:
- 2.16.0
-
io
Provides access to IO generators.- Returns:
- built-in IO generators
- Since:
- 2.2.0
-
nio
Provides access to NIO generators.- Returns:
- built-in NIO generators
- Since:
- 2.1.0
-
temporal
Provides access to temporal generators.- Returns:
- built-in temporal generators
-
text
Provides access to text generators.- Returns:
- built-in text generators
-
id
Provides access to identifier generators.- Returns:
- built-in id generators
- Since:
- 2.11.0
-
hash
Generates various types of hashes.- Returns:
- API builder reference
- Since:
- 2.11.0
-
finance
Provides access to finance-related generators.- Returns:
- built-in finance-related generators
- Since:
- 2.11.0
-