Package io.github.ai4ci.util
Class ImmutableSimpleDistribution.Builder
java.lang.Object
io.github.ai4ci.util.ImmutableSimpleDistribution.Builder
- Enclosing class:
- ImmutableSimpleDistribution
Builds instances of type
ImmutableSimpleDistribution
.
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.
-
Method Summary
Modifier and TypeMethodDescriptionbuild()
Builds a newImmutableSimpleDistribution
.from
(Abstraction.Distribution instance) Fill a builder with attribute values from the providedio.github.ai4ci.abm.mechanics.Abstraction.Distribution
instance.from
(SimpleDistribution instance) Fill a builder with attribute values from the providedio.github.ai4ci.util.SimpleDistribution
instance.setCentral
(double central) Initializes the value for thecentral
attribute.setDispersion
(Double dispersion) Initializes the value for thedispersion
attribute.Initializes the value for thetype
attribute.
-
Method Details
-
from
@CanIgnoreReturnValue public final ImmutableSimpleDistribution.Builder from(Abstraction.Distribution instance) Fill a builder with attribute values from the providedio.github.ai4ci.abm.mechanics.Abstraction.Distribution
instance.- Parameters:
instance
- The instance from which to copy values- Returns:
this
builder for use in a chained invocation
-
from
@CanIgnoreReturnValue public final ImmutableSimpleDistribution.Builder from(SimpleDistribution instance) Fill a builder with attribute values from the providedio.github.ai4ci.util.SimpleDistribution
instance.- Parameters:
instance
- The instance from which to copy values- Returns:
this
builder for use in a chained invocation
-
setType
@CanIgnoreReturnValue public final ImmutableSimpleDistribution.Builder setType(SimpleDistribution.Type type) Initializes the value for thetype
attribute.- Parameters:
type
- The value for type- Returns:
this
builder for use in a chained invocation
-
setCentral
Initializes the value for thecentral
attribute.- Parameters:
central
- The value for central- Returns:
this
builder for use in a chained invocation
-
setDispersion
@CanIgnoreReturnValue public final ImmutableSimpleDistribution.Builder setDispersion(@Nullable Double dispersion) Initializes the value for thedispersion
attribute.If not set, this attribute will have a default value as returned by the initializer of
dispersion
.- Parameters:
dispersion
- The value for dispersion (can benull
)- Returns:
this
builder for use in a chained invocation
-
build
Builds a newImmutableSimpleDistribution
.- Returns:
- An immutable instance of SimpleDistribution
- Throws:
IllegalStateException
- if any required attributes are missing
-