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>, OneOfCollectionGeneratorSpec<T>

public class OneOfCollectionGenerator<T> extends AbstractGenerator<T> implements OneOfCollectionGeneratorSpec<T>
  • Constructor Details

    • OneOfCollectionGenerator

      public OneOfCollectionGenerator(GeneratorContext context)
  • Method Details

    • apiMethod

      public String 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 class AbstractGenerator<T>
      Returns:
      spec name if defined, or null otherwise
    • oneOf

      public OneOfCollectionGeneratorSpec<T> oneOf(Collection<T> values)
      Description copied from interface: OneOfCollectionGeneratorSpec
      Selects a random value from the given choices.
      Specified by:
      oneOf in interface OneOfCollectionGeneratorSpec<T>
      Parameters:
      values - from which a random value will be selected
      Returns:
      completed spec with no further methods
    • generate

      public T generate(Random random)
      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.

      Specified by:
      generate in interface Generator<T>
      Parameters:
      random - provider for generating random values
      Returns:
      generated value or null if value is nullable, could not be generated, or generation is delegated to the engine