Package io.riada.insight.model
Class ImmutableTicketContext.Builder
java.lang.Object
io.riada.insight.model.ImmutableTicketContext.Builder
- Enclosing class:
- ImmutableTicketContext
Builds instances of type
ImmutableTicketContext
.
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 newImmutableTicketContext
.from
(TicketContext instance) Fill a builder with attribute values from the providedTicketContext
instance.setCurrentAssignee
(InsightUser currentAssignee) Initializes the optional valuecurrentAssignee
to currentAssignee.setCurrentAssignee
(Optional<? extends InsightUser> currentAssignee) Initializes the optional valuecurrentAssignee
to currentAssignee.setCurrentProjectId
(long currentProjectId) Initializes the optional valuecurrentProjectId
to currentProjectId.setCurrentProjectId
(OptionalLong currentProjectId) Initializes the optional valuecurrentProjectId
to currentProjectId.setCurrentReporter
(InsightUser currentReporter) Initializes the optional valuecurrentReporter
to currentReporter.setCurrentReporter
(Optional<? extends InsightUser> currentReporter) Initializes the optional valuecurrentReporter
to currentReporter.
-
Method Details
-
from
Fill a builder with attribute values from the providedTicketContext
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
-
setCurrentReporter
@CanIgnoreReturnValue public final ImmutableTicketContext.Builder setCurrentReporter(InsightUser currentReporter) Initializes the optional valuecurrentReporter
to currentReporter.- Parameters:
currentReporter
- The value for currentReporter- Returns:
this
builder for chained invocation
-
setCurrentReporter
@CanIgnoreReturnValue public final ImmutableTicketContext.Builder setCurrentReporter(Optional<? extends InsightUser> currentReporter) Initializes the optional valuecurrentReporter
to currentReporter.- Parameters:
currentReporter
- The value for currentReporter- Returns:
this
builder for use in a chained invocation
-
setCurrentAssignee
@CanIgnoreReturnValue public final ImmutableTicketContext.Builder setCurrentAssignee(InsightUser currentAssignee) Initializes the optional valuecurrentAssignee
to currentAssignee.- Parameters:
currentAssignee
- The value for currentAssignee- Returns:
this
builder for chained invocation
-
setCurrentAssignee
@CanIgnoreReturnValue public final ImmutableTicketContext.Builder setCurrentAssignee(Optional<? extends InsightUser> currentAssignee) Initializes the optional valuecurrentAssignee
to currentAssignee.- Parameters:
currentAssignee
- The value for currentAssignee- Returns:
this
builder for use in a chained invocation
-
setCurrentProjectId
@CanIgnoreReturnValue public final ImmutableTicketContext.Builder setCurrentProjectId(long currentProjectId) Initializes the optional valuecurrentProjectId
to currentProjectId.- Parameters:
currentProjectId
- The value for currentProjectId- Returns:
this
builder for chained invocation
-
setCurrentProjectId
@CanIgnoreReturnValue public final ImmutableTicketContext.Builder setCurrentProjectId(OptionalLong currentProjectId) Initializes the optional valuecurrentProjectId
to currentProjectId.- Parameters:
currentProjectId
- The value for currentProjectId- Returns:
this
builder for use in a chained invocation
-
build
Builds a newImmutableTicketContext
.- Returns:
- An immutable instance of TicketContext
- Throws:
IllegalStateException
- if any required attributes are missing
-