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
.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.tryGenerateNonNull
(Random random) Makes the best effort to return a non-null value.Methods inherited from class org.instancio.internal.generator.AbstractGenerator
generate, 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
-
tryGenerateNonNull
Description copied from class:AbstractGenerator
Makes the best effort to return a non-null value. However, in certain cases this method will produce anull
.- Specified by:
tryGenerateNonNull
in classAbstractGenerator<EnumSet<E extends Enum<E>>>
- Parameters:
random
- for generating the value- Returns:
- generated value, either a null or non-null
-
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
-