Class AbstractRandomNumberGeneratorSpec<T extends Number>

    • Field Detail

      • min

        protected T extends Number min
      • max

        protected T extends Number max
      • nullable

        protected boolean nullable
    • Constructor Detail

      • AbstractRandomNumberGeneratorSpec

        protected AbstractRandomNumberGeneratorSpec​(GeneratorContext context,
                                                    T min,
                                                    T max,
                                                    boolean nullable)
    • Method Detail

      • generateNonNullValue

        protected abstract T generateNonNullValue()
      • generate

        public final T generate()
        Description copied from interface: Generator
        Depending on implementation, repeated invocations may return different values. Some implementations may return random values on each invocation, while others may return predefined values or random values from a given set.

        Generators can be passed in as a lambda function. The following example shows how to override generation strategy for certain fields.

        
             Person person = Instancio.of(Person.class)
                 .generate(field("age"), gen -> gen.oneOf(20, 30, 40, 50))
                 .supply(field("location"), () -> "Canada")
                 .supply(all(LocalDateTime.class), () -> LocalDateTime.now())
                 .create();
         
        Specified by:
        generate in interface Generator<T extends Number>
        Returns:
        generated value