Class EnumSetGenerator<E extends Enum<E>>
java.lang.Object
org.instancio.internal.generator.AbstractGenerator<EnumSet<E>>
org.instancio.internal.generator.util.EnumSetGenerator<E>
- All Implemented Interfaces:
Generator<EnumSet<E>>
,GeneratorSpec<EnumSet<E>>
,EnumSetGeneratorSpec<E>
,NullableGeneratorSpec<EnumSet<E>>
public class EnumSetGenerator<E extends Enum<E>>
extends AbstractGenerator<EnumSet<E>>
implements EnumSetGeneratorSpec<E>
-
Constructor Summary
ConstructorDescriptionEnumSetGenerator
(GeneratorContext context) EnumSetGenerator
(GeneratorContext context, Class<E> enumClass) -
Method Summary
Modifier and TypeMethodDescriptionReturns the public API method name of the generator spec.final EnumSetGeneratorSpec<E>
Specifies enum values to exclude from the generatedEnumSet
.Returns a generated value.hints()
Hints provided by the generator to the engine.maxSize
(int size) Maximum size ofEnumSet
to generate.minSize
(int size) Minimum size ofEnumSet
to generate.final EnumSetGeneratorSpec<E>
Specifies choices from which theEnumSet
will be generated.size
(int size) Size ofEnumSet
to generate.Methods inherited from class org.instancio.internal.generator.AbstractGenerator
getContext, isNullable, nullable, nullable
-
Constructor Details
-
EnumSetGenerator
-
EnumSetGenerator
-
-
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. -
size
Description copied from interface:EnumSetGeneratorSpec
Size ofEnumSet
to generate.- Specified by:
size
in interfaceEnumSetGeneratorSpec<E extends Enum<E>>
- Parameters:
size
- ofEnumSet
- Returns:
- spec builder
-
minSize
Description copied from interface:EnumSetGeneratorSpec
Minimum size ofEnumSet
to generate.- Specified by:
minSize
in interfaceEnumSetGeneratorSpec<E extends Enum<E>>
- Parameters:
size
- minimum size (inclusive)- Returns:
- spec builder
-
maxSize
Description copied from interface:EnumSetGeneratorSpec
Maximum size ofEnumSet
to generate.- Specified by:
maxSize
in interfaceEnumSetGeneratorSpec<E extends Enum<E>>
- Parameters:
size
- maximum size (inclusive)- Returns:
- spec builder
-
of
Description copied from interface:EnumSetGeneratorSpec
Specifies choices from which theEnumSet
will be generated.- Specified by:
of
in interfaceEnumSetGeneratorSpec<E extends Enum<E>>
- Parameters:
elements
- from which the enum set will be generated- Returns:
- spec builder
-
excluding
Description copied from interface:EnumSetGeneratorSpec
Specifies enum values to exclude from the generatedEnumSet
.- Specified by:
excluding
in interfaceEnumSetGeneratorSpec<E extends Enum<E>>
- Parameters:
elements
- to excluding from the generated enum set- 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
-