Package io.riada.insight.model
Class ImmutableInsightProject.Builder
java.lang.Object
io.riada.insight.model.ImmutableInsightProject.Builder
- Enclosing class:
- ImmutableInsightProject
Builds instances of type
ImmutableInsightProject
.
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 newImmutableInsightProject
.from
(InsightProject instance) Fill a builder with attribute values from the providedInsightProject
instance.Initializes the value for theid
attribute.Initializes the value for thekey
attribute.Initializes the value for thename
attribute.
-
Method Details
-
from
Fill a builder with attribute values from the providedInsightProject
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
-
setId
Initializes the value for theid
attribute.- Parameters:
id
- The value for id- Returns:
this
builder for use in a chained invocation
-
setKey
Initializes the value for thekey
attribute.- Parameters:
key
- The value for key- Returns:
this
builder for use in a chained invocation
-
setName
Initializes the value for thename
attribute.- Parameters:
name
- The value for name- Returns:
this
builder for use in a chained invocation
-
build
Builds a newImmutableInsightProject
.- Returns:
- An immutable instance of InsightProject
- Throws:
IllegalStateException
- if any required attributes are missing
-