Package io.github.ai4ci.config.inhost
Class ImmutableMarkovStateModel.Builder
java.lang.Object
io.github.ai4ci.config.inhost.ImmutableMarkovStateModel.Builder
- Enclosing class:
- ImmutableMarkovStateModel
Builds instances of type
ImmutableMarkovStateModel
.
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 newImmutableMarkovStateModel
.from
(MarkovStateModel instance) Fill a builder with attribute values from the providedMarkovStateModel
instance.setImmuneWaningHalfLife
(Abstraction.Distribution immuneWaningHalfLife) Initializes the value for theimmuneWaningHalfLife
attribute.setIncubationPeriod
(Abstraction.Distribution incubationPeriod) Initializes the value for theincubationPeriod
attribute.setInfectiousDuration
(Abstraction.Distribution infectiousDuration) Initializes the value for theinfectiousDuration
attribute.setSymptomDuration
(Abstraction.Distribution symptomDuration) Initializes the value for thesymptomDuration
attribute.
-
Method Details
-
from
@CanIgnoreReturnValue public final ImmutableMarkovStateModel.Builder from(MarkovStateModel instance) Fill a builder with attribute values from the providedMarkovStateModel
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
-
setIncubationPeriod
@CanIgnoreReturnValue public final ImmutableMarkovStateModel.Builder setIncubationPeriod(Abstraction.Distribution incubationPeriod) Initializes the value for theincubationPeriod
attribute.- Parameters:
incubationPeriod
- The value for incubationPeriod- Returns:
this
builder for use in a chained invocation
-
setInfectiousDuration
@CanIgnoreReturnValue public final ImmutableMarkovStateModel.Builder setInfectiousDuration(Abstraction.Distribution infectiousDuration) Initializes the value for theinfectiousDuration
attribute.- Parameters:
infectiousDuration
- The value for infectiousDuration- Returns:
this
builder for use in a chained invocation
-
setSymptomDuration
@CanIgnoreReturnValue public final ImmutableMarkovStateModel.Builder setSymptomDuration(Abstraction.Distribution symptomDuration) Initializes the value for thesymptomDuration
attribute.- Parameters:
symptomDuration
- The value for symptomDuration- Returns:
this
builder for use in a chained invocation
-
setImmuneWaningHalfLife
@CanIgnoreReturnValue public final ImmutableMarkovStateModel.Builder setImmuneWaningHalfLife(Abstraction.Distribution immuneWaningHalfLife) Initializes the value for theimmuneWaningHalfLife
attribute.- Parameters:
immuneWaningHalfLife
- The value for immuneWaningHalfLife- Returns:
this
builder for use in a chained invocation
-
build
Builds a newImmutableMarkovStateModel
.- Returns:
- An immutable instance of MarkovStateModel
- Throws:
IllegalStateException
- if any required attributes are missing
-