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