Class ImmutableDoubleChromosomeSpec.Builder
java.lang.Object
net.bmahe.genetics4j.core.spec.chromosome.ImmutableDoubleChromosomeSpec.Builder
- Direct Known Subclasses:
DoubleChromosomeSpec.Builder
- Enclosing class:
ImmutableDoubleChromosomeSpec
Builds instances of type
ImmutableDoubleChromosomeSpec
.
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 double
private double
private int
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionbuild()
Builds a newImmutableDoubleChromosomeSpec
.distribution
(Distribution distribution) Initializes the value for thedistribution
attribute.private String
from
(DoubleChromosomeSpec instance) Fill a builder with attribute values from the providedDoubleChromosomeSpec
instance.maxValue
(double maxValue) Initializes the value for themaxValue
attribute.minValue
(double 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 double minValue -
maxValue
private double maxValue -
distribution
-
-
Constructor Details
-
Builder
public Builder()Creates a builder forImmutableDoubleChromosomeSpec
instances.new DoubleChromosomeSpec.Builder() .size(int) // required
size
.minValue(double) // requiredminValue
.maxValue(double) // requiredmaxValue
.distribution(net.bmahe.genetics4j.core.spec.statistics.distributions.Distribution) // optionaldistribution
.build();
-
-
Method Details
-
from
Fill a builder with attribute values from the providedDoubleChromosomeSpec
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 newImmutableDoubleChromosomeSpec
.- Returns:
- An immutable instance of DoubleChromosomeSpec
- Throws:
IllegalStateException
- if any required attributes are missing
-
formatRequiredAttributesMessage
-