Package org.instancio.generator.lang
Class AbstractRandomNumberGeneratorSpec<T extends Number>
- java.lang.Object
-
- org.instancio.generator.AbstractGenerator<T>
-
- org.instancio.generator.lang.AbstractRandomNumberGeneratorSpec<T>
-
- All Implemented Interfaces:
Generator<T>
,GeneratorSpec<T>
,NumberGeneratorSpec<T>
- Direct Known Subclasses:
AbstractRandomComparableNumberGeneratorSpec
,AtomicIntegerGenerator
,AtomicLongGenerator
public abstract class AbstractRandomNumberGeneratorSpec<T extends Number> extends AbstractGenerator<T> implements NumberGeneratorSpec<T>
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractRandomNumberGeneratorSpec(GeneratorContext context, T min, T max, boolean nullable)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description T
generate(Random random)
Returns a generated value.protected abstract T
generateNonNullValue(Random random)
GeneratedHints
getHints()
Returns hints, including collection sizes and whether values are nullable.protected T
getMax()
protected T
getMin()
NumberGeneratorSpec<T>
max(T max)
Upper bound for the random number generator.NumberGeneratorSpec<T>
min(T min)
Lower bound for the random number generator.NumberGeneratorSpec<T>
nullable()
Specifies the generated value can benull
.NumberGeneratorSpec<T>
range(T min, T max)
Range for the random number generator-
Methods inherited from class org.instancio.generator.AbstractGenerator
getContext
-
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
apiMethodName, isDelegating, setDelegate, supports, targetClass
-
-
-
-
Constructor Detail
-
AbstractRandomNumberGeneratorSpec
protected AbstractRandomNumberGeneratorSpec(GeneratorContext context, T min, T max, boolean nullable)
-
-
Method Detail
-
getMin
protected T getMin()
-
getMax
protected T getMax()
-
min
public NumberGeneratorSpec<T> min(T min)
Description copied from interface:NumberGeneratorSpec
Lower bound for the random number generator.- Specified by:
min
in interfaceNumberGeneratorSpec<T extends Number>
- Parameters:
min
- lower bound (inclusive)- Returns:
- spec builder
-
max
public NumberGeneratorSpec<T> max(T max)
Description copied from interface:NumberGeneratorSpec
Upper bound for the random number generator.- Specified by:
max
in interfaceNumberGeneratorSpec<T extends Number>
- Parameters:
max
- upper bound (exclusive)- Returns:
- spec builder
-
range
public NumberGeneratorSpec<T> range(T min, T max)
Description copied from interface:NumberGeneratorSpec
Range for the random number generator- Specified by:
range
in interfaceNumberGeneratorSpec<T extends Number>
- Parameters:
min
- lower bound (inclusive)max
- upper bound (exclusive)- Returns:
- spec builder
-
nullable
public NumberGeneratorSpec<T> nullable()
Description copied from interface:NumberGeneratorSpec
Specifies the generated value can benull
.- Specified by:
nullable
in interfaceNumberGeneratorSpec<T extends Number>
- Returns:
- spec builder
-
generate
public final T generate(Random random)
Description copied from interface:Generator
Returns a generated value.If the generated value is random, it needs to be generated using the given
Random
instance. This ensures the data is generated with the same seed value and allows random data to be reproduced by specifying the seed value.
-
-