Class ArrayGenerator<T>
java.lang.Object
org.instancio.internal.generator.AbstractGenerator<T>
org.instancio.internal.generator.array.ArrayGenerator<T>
- All Implemented Interfaces:
Generator<T>
,GeneratorSpec<T>
,ArrayGeneratorSpec<T>
,NullableGeneratorSpec<T>
-
Field Summary
-
Constructor Summary
ConstructorDescriptionArrayGenerator
(GeneratorContext context) ArrayGenerator
(GeneratorContext context, Class<?> arrayType) -
Method Summary
Modifier and TypeMethodDescriptionReturns the public API method name of the generator spec.Returns a generated value.hints()
Hints provided by the generator to the engine.length
(int length) length of array to generate.maxLength
(int length) Maximum length of array to generate.minLength
(int length) Minimum length of array to generate.nullable()
Indicates thatnull
value can be generated.nullable
(boolean isNullable) Indicates thatnull
values can be generated for array elements.Specifies the type of array that should be generated.final ArrayGeneratorSpec<T>
Adds given elements to the generated array at random positions.Methods inherited from class org.instancio.internal.generator.AbstractGenerator
getContext, isNullable
-
Field Details
-
minLength
protected int minLength -
maxLength
protected int maxLength
-
-
Constructor Details
-
ArrayGenerator
-
ArrayGenerator
-
-
Method Details
-
apiMethod
Description copied from class:AbstractGenerator
Returns the public API method name of the generator spec. The returned name is used for reporting validation errors.- Specified by:
apiMethod
in classAbstractGenerator<T>
- Returns:
- spec name if defined, or
null
otherwise
-
minLength
Description copied from interface:ArrayGeneratorSpec
Minimum length of array to generate.- Specified by:
minLength
in interfaceArrayGeneratorSpec<T>
- Parameters:
length
- minimum length (inclusive)- Returns:
- spec builder
-
maxLength
Description copied from interface:ArrayGeneratorSpec
Maximum length of array to generate.- Specified by:
maxLength
in interfaceArrayGeneratorSpec<T>
- Parameters:
length
- maximum length (inclusive)- Returns:
- spec builder
-
length
Description copied from interface:ArrayGeneratorSpec
length of array to generate.- Specified by:
length
in interfaceArrayGeneratorSpec<T>
- Parameters:
length
- of array- Returns:
- spec builder
-
nullable
Description copied from interface:NullableGeneratorSpec
Indicates thatnull
value can be generated.- Specified by:
nullable
in interfaceArrayGeneratorSpec<T>
- Specified by:
nullable
in interfaceNullableGeneratorSpec<T>
- Overrides:
nullable
in classAbstractGenerator<T>
- Returns:
- spec builder
-
nullable
- Overrides:
nullable
in classAbstractGenerator<T>
-
nullableElements
Description copied from interface:ArrayGeneratorSpec
Indicates thatnull
values can be generated for array elements.- Specified by:
nullableElements
in interfaceArrayGeneratorSpec<T>
- Returns:
- spec builder
-
subtype
Description copied from interface:ArrayGeneratorSpec
Specifies the type of array that should be generated.- Specified by:
subtype
in interfaceArrayGeneratorSpec<T>
- Parameters:
type
- of array to generate- Returns:
- spec builder
-
with
Description copied from interface:ArrayGeneratorSpec
Adds given elements to the generated array at random positions.- Specified by:
with
in interfaceArrayGeneratorSpec<T>
- Parameters:
elements
- to add- Returns:
- spec builder
-
generate
Description copied from interface:Generator
Returns a generated value.If this method produces random data, the data needs to be generated using the provided
Random
instance. This ensures generated values are reproducible for a given seed value. -
hints
Description copied from interface:Generator
Hints provided by the generator to the engine.The most important hint for custom generators is
AfterGenerate
. This hint indicates whether the object created by this generator:- should be populated (for example, if it has
null
fields) - can be modified using selectors
For example, setting the hint to
AfterGenerate.POPULATE_NULLS
will cause Instancio to populatenull
fields on the object returned by this generator:@Override public Hints hints() { return Hints.afterGenerate(AfterGenerate.POPULATE_NULLS); }
If the action is not specified, default behaviour will be based on the
AfterGenerate
value configured in theSettings
using the keyKeys.AFTER_GENERATE_HINT
.In addition, the following hints can be provided for populating data structures:
- should be populated (for example, if it has
-