Class AbstractRandomComparableNumberGeneratorSpec<T extends Number & Comparable<T>>
java.lang.Object
org.instancio.internal.generator.AbstractGenerator<T>
org.instancio.internal.generator.lang.AbstractRandomNumberGeneratorSpec<T>
org.instancio.internal.generator.lang.AbstractRandomComparableNumberGeneratorSpec<T>
- All Implemented Interfaces:
AsStringGeneratorSpec<T>
,Generator<T>
,GeneratorSpec<T>
,AsGeneratorSpec<T>
,NullableGeneratorSpec<T>
,NumberAsGeneratorSpec<T>
,NumberGeneratorSpec<T>
- Direct Known Subclasses:
BigDecimalGenerator
,BigIntegerGenerator
,ByteGenerator
,DoubleGenerator
,FloatGenerator
,IntegerGenerator
,LongGenerator
,ShortGenerator
public abstract class AbstractRandomComparableNumberGeneratorSpec<T extends Number & Comparable<T>>
extends AbstractRandomNumberGeneratorSpec<T>
-
Constructor Summary
ModifierConstructorDescriptionprotected
AbstractRandomComparableNumberGeneratorSpec
(GeneratorContext context, T min, T max, boolean nullable) -
Method Summary
Modifier and TypeMethodDescriptionSpecifies the upper bound.Specifies the lower bound.Specifies the range for the generated number.Methods inherited from class org.instancio.internal.generator.lang.AbstractRandomNumberGeneratorSpec
generate, getMax, getMin, nullable, nullable
Methods inherited from class org.instancio.internal.generator.AbstractGenerator
apiMethod, getContext, hints, isNullable, tryGenerateNonNull
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.AsGeneratorSpec
as, asString
Methods inherited from interface org.instancio.generator.AsStringGeneratorSpec
asString
-
Constructor Details
-
AbstractRandomComparableNumberGeneratorSpec
protected AbstractRandomComparableNumberGeneratorSpec(GeneratorContext context, T min, T max, boolean nullable)
-
-
Method Details
-
min
Specifies the lower bound.If the specified
min
value is greater than or equal to the currentmax
value, themax
value will be updated to a value higher than the givenmin
.- Specified by:
min
in interfaceNumberAsGeneratorSpec<T extends Number & Comparable<T>>
- Specified by:
min
in interfaceNumberGeneratorSpec<T extends Number & Comparable<T>>
- Overrides:
min
in classAbstractRandomNumberGeneratorSpec<T extends Number & Comparable<T>>
- Parameters:
min
- lower bound (inclusive)- Returns:
- spec builder
-
max
Specifies the upper bound.If the specified
max
value is less than or equal to the currentmin
value, themin
value will be updated to a value lower than the givenmax
.- Specified by:
max
in interfaceNumberAsGeneratorSpec<T extends Number & Comparable<T>>
- Specified by:
max
in interfaceNumberGeneratorSpec<T extends Number & Comparable<T>>
- Overrides:
max
in classAbstractRandomNumberGeneratorSpec<T extends Number & Comparable<T>>
- Parameters:
max
- upper bound (inclusive)- Returns:
- spec builder
-
range
Description copied from interface:NumberGeneratorSpec
Specifies the range for the generated number.This method can be invoked multiple times to specify several ranges, for example, the following will generate a random value within
[10-15]
or[20-25]
:
Note: this method has higher precedence thanints().range(10, 15).range(20, 25)
NumberGeneratorSpec.min(Number)
andNumberGeneratorSpec.max(Number)
. For example, the following will generate a number within[1, 5]
:ints().range(1, 5).min(95).max(99)
- Specified by:
range
in interfaceNumberAsGeneratorSpec<T extends Number & Comparable<T>>
- Specified by:
range
in interfaceNumberGeneratorSpec<T extends Number & Comparable<T>>
- Overrides:
range
in classAbstractRandomNumberGeneratorSpec<T extends Number & Comparable<T>>
- Parameters:
min
- lower bound (inclusive)max
- upper bound (inclusive)- Returns:
- spec builder
-