Package io.github.ai4ci.util
Class ImmutableDelayDistribution.Builder
java.lang.Object
io.github.ai4ci.util.ImmutableDelayDistribution.Builder
- Enclosing class:
- ImmutableDelayDistribution
Builds instances of type
ImmutableDelayDistribution
.
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 newImmutableDelayDistribution
.from
(DelayDistribution instance) Fill a builder with attribute values from the providedDelayDistribution
instance.setPAffected
(double pAffected) Initializes the value for thepAffected
attribute.setProfile
(double... profile) Initializes the value for theprofile
attribute.
-
Method Details
-
from
@CanIgnoreReturnValue public final ImmutableDelayDistribution.Builder from(DelayDistribution instance) Fill a builder with attribute values from the providedDelayDistribution
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
-
setProfile
Initializes the value for theprofile
attribute.- Parameters:
profile
- The elements for profile- Returns:
this
builder for use in a chained invocation
-
setPAffected
@CanIgnoreReturnValue public final ImmutableDelayDistribution.Builder setPAffected(double pAffected) Initializes the value for thepAffected
attribute.If not set, this attribute will have a default value as returned by the initializer of
pAffected
.- Parameters:
pAffected
- The value for pAffected- Returns:
this
builder for use in a chained invocation
-
build
Builds a newImmutableDelayDistribution
.- Returns:
- An immutable instance of DelayDistribution
- Throws:
IllegalStateException
- if any required attributes are missing
-