Class OneOfCollectionGenerator<T>
java.lang.Object
org.instancio.internal.generator.AbstractGenerator<T>
org.instancio.internal.generator.util.OneOfCollectionGenerator<T>
- All Implemented Interfaces:
Generator<T>
,GeneratorSpec<T>
,NullableGeneratorSpec<T>
,OneOfCollectionGeneratorSpec<T>
,OneOfCollectionSpec<T>
,ValueSpec<T>
public class OneOfCollectionGenerator<T>
extends AbstractGenerator<T>
implements OneOfCollectionSpec<T>
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionReturns the public API method name of the generator spec.nullable()
Indicates thatnull
value can be generated.oneOf
(Collection<T> values) Selects a random value from the given choices.tryGenerateNonNull
(Random random) Makes the best effort to return a non-null value.Methods inherited from class org.instancio.internal.generator.AbstractGenerator
generate, getContext, hints, isNullable, nullable
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.instancio.generator.specs.OneOfCollectionSpec
toModel
-
Constructor Details
-
OneOfCollectionGenerator
public OneOfCollectionGenerator() -
OneOfCollectionGenerator
-
-
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
-
oneOf
Description copied from interface:OneOfCollectionGeneratorSpec
Selects a random value from the given choices.- Specified by:
oneOf
in interfaceOneOfCollectionGeneratorSpec<T>
- Specified by:
oneOf
in interfaceOneOfCollectionSpec<T>
- Parameters:
values
- from which a random value will be selected- Returns:
- completed spec with no further methods
-
nullable
Description copied from interface:NullableGeneratorSpec
Indicates thatnull
value can be generated.- Specified by:
nullable
in interfaceNullableGeneratorSpec<T>
- Specified by:
nullable
in interfaceValueSpec<T>
- Overrides:
nullable
in classAbstractGenerator<T>
- 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<T>
- Parameters:
random
- for generating the value- Returns:
- generated value, either a null or non-null
-