Class ImmutableFloatChromosomeSpec.Builder
java.lang.Object
net.bmahe.genetics4j.core.spec.chromosome.ImmutableFloatChromosomeSpec.Builder
- Direct Known Subclasses:
FloatChromosomeSpec.Builder
- Enclosing class:
ImmutableFloatChromosomeSpec
Builds instances of type
ImmutableFloatChromosomeSpec
.
Initialize attributes and then invoke the build()
method to create an
immutable instance.
Builder
is not thread-safe and generally should not be stored in a field or collection,
but instead used immediately to create instances.
-
Field Summary
Modifier and TypeFieldDescriptionprivate Distribution
private static final long
private static final long
private static final long
private long
private float
private float
private int
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionbuild()
Builds a newImmutableFloatChromosomeSpec
.distribution
(Distribution distribution) Initializes the value for thedistribution
attribute.private String
from
(FloatChromosomeSpec instance) Fill a builder with attribute values from the providedFloatChromosomeSpec
instance.maxValue
(float maxValue) Initializes the value for themaxValue
attribute.minValue
(float minValue) Initializes the value for theminValue
attribute.size
(int size) Initializes the value for thesize
attribute.
-
Field Details
-
INIT_BIT_SIZE
private static final long INIT_BIT_SIZE- See Also:
-
INIT_BIT_MIN_VALUE
private static final long INIT_BIT_MIN_VALUE- See Also:
-
INIT_BIT_MAX_VALUE
private static final long INIT_BIT_MAX_VALUE- See Also:
-
initBits
private long initBits -
size
private int size -
minValue
private float minValue -
maxValue
private float maxValue -
distribution
-
-
Constructor Details
-
Builder
public Builder()Creates a builder forImmutableFloatChromosomeSpec
instances.new FloatChromosomeSpec.Builder() .size(int) // required
size
.minValue(float) // requiredminValue
.maxValue(float) // requiredmaxValue
.distribution(net.bmahe.genetics4j.core.spec.statistics.distributions.Distribution) // optionaldistribution
.build();
-
-
Method Details
-
from
Fill a builder with attribute values from the providedFloatChromosomeSpec
instance. Regular attribute values will be replaced with those from the given instance. Absent optional values will not replace present values.- Parameters:
instance
- The instance from which to copy values- Returns:
this
builder for use in a chained invocation
-
size
Initializes the value for thesize
attribute.- Parameters:
size
- The value for size- Returns:
this
builder for use in a chained invocation
-
minValue
Initializes the value for theminValue
attribute.- Parameters:
minValue
- The value for minValue- Returns:
this
builder for use in a chained invocation
-
maxValue
Initializes the value for themaxValue
attribute.- Parameters:
maxValue
- The value for maxValue- Returns:
this
builder for use in a chained invocation
-
distribution
Initializes the value for thedistribution
attribute.If not set, this attribute will have a default value as returned by the initializer of
distribution
.- Parameters:
distribution
- The value for distribution- Returns:
this
builder for use in a chained invocation
-
build
Builds a newImmutableFloatChromosomeSpec
.- Returns:
- An immutable instance of FloatChromosomeSpec
- Throws:
IllegalStateException
- if any required attributes are missing
-
formatRequiredAttributesMessage
-