Class DoubleGenerator
java.lang.Object
org.instancio.internal.generator.AbstractGenerator<T>
org.instancio.internal.generator.lang.AbstractRandomNumberGeneratorSpec<T>
org.instancio.internal.generator.lang.AbstractRandomComparableNumberGeneratorSpec<Double>
org.instancio.internal.generator.lang.DoubleGenerator
- All Implemented Interfaces:
AsStringGeneratorSpec<Double>
,Generator<Double>
,GeneratorSpec<Double>
,AsGeneratorSpec<Double>
,DoubleSpec
,NullableGeneratorSpec<Double>
,NumberAsGeneratorSpec<Double>
,NumberGeneratorSpec<Double>
,NumberSpec<Double>
,ValueSpec<Double>
public class DoubleGenerator
extends AbstractRandomComparableNumberGeneratorSpec<Double>
implements DoubleSpec
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionReturns the public API method name of the generator spec.Specifies the upper bound.Specifies the lower bound.nullable()
Indicates thatnull
value can be generated.nullable
(boolean isNullable) Specifies the range for the generated number.protected Double
tryGenerateNonNull
(Random random) Makes the best effort to return a non-null value.Methods inherited from class org.instancio.internal.generator.lang.AbstractRandomNumberGeneratorSpec
generate, getMax, getMin
Methods inherited from class org.instancio.internal.generator.AbstractGenerator
getContext, hints, isNullable
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
-
DoubleGenerator
public DoubleGenerator() -
DoubleGenerator
-
-
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<Double>
- Returns:
- spec name if defined, or
null
otherwise
-
min
Description copied from class:AbstractRandomComparableNumberGeneratorSpec
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 interfaceDoubleSpec
- Specified by:
min
in interfaceNumberAsGeneratorSpec<Double>
- Specified by:
min
in interfaceNumberGeneratorSpec<Double>
- Specified by:
min
in interfaceNumberSpec<Double>
- Overrides:
min
in classAbstractRandomComparableNumberGeneratorSpec<Double>
- Parameters:
min
- lower bound (inclusive)- Returns:
- spec builder
-
max
Description copied from class:AbstractRandomComparableNumberGeneratorSpec
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 interfaceDoubleSpec
- Specified by:
max
in interfaceNumberAsGeneratorSpec<Double>
- Specified by:
max
in interfaceNumberGeneratorSpec<Double>
- Specified by:
max
in interfaceNumberSpec<Double>
- Overrides:
max
in classAbstractRandomComparableNumberGeneratorSpec<Double>
- 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 interfaceDoubleSpec
- Specified by:
range
in interfaceNumberAsGeneratorSpec<Double>
- Specified by:
range
in interfaceNumberGeneratorSpec<Double>
- Specified by:
range
in interfaceNumberSpec<Double>
- Overrides:
range
in classAbstractRandomComparableNumberGeneratorSpec<Double>
- Parameters:
min
- lower bound (inclusive)max
- upper bound (inclusive)- Returns:
- spec builder
-
nullable
Description copied from interface:NullableGeneratorSpec
Indicates thatnull
value can be generated.- Specified by:
nullable
in interfaceDoubleSpec
- Specified by:
nullable
in interfaceNullableGeneratorSpec<Double>
- Specified by:
nullable
in interfaceNumberAsGeneratorSpec<Double>
- Specified by:
nullable
in interfaceNumberGeneratorSpec<Double>
- Specified by:
nullable
in interfaceNumberSpec<Double>
- Specified by:
nullable
in interfaceValueSpec<Double>
- Overrides:
nullable
in classAbstractRandomNumberGeneratorSpec<Double>
- Returns:
- spec builder
-
nullable
- Overrides:
nullable
in classAbstractRandomNumberGeneratorSpec<Double>
-
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<Double>
- Parameters:
random
- for generating the value- Returns:
- generated value, either a null or non-null
-