Package akka.javasdk.workflow
Interface Workflow.Effect.Builder<S>
- Type Parameters:
S
- The type of the state for this workflow.
- Enclosing interface:
Workflow.Effect<T>
public static interface Workflow.Effect.Builder<S>
Construct the effect that is returned by the command handler or a step transition.
The effect describes next processing actions, such as updating state, transition to another step and sending a reply.
-
Method Summary
Modifier and TypeMethodDescriptiondelete()
Finish and delete the workflow execution.end()
Finish the workflow execution.<R> Workflow.ReadOnlyEffect
<R> error
(CommandException commandException) Create an error reply.<R> Workflow.ReadOnlyEffect
<R> Create an error reply.pause()
Pause the workflow execution and wait for an external input, e.g.<R> Workflow.ReadOnlyEffect
<R> reply
(R replyMessage) Create a message reply.<R> Workflow.ReadOnlyEffect
<R> Reply after for exampleupdateState
.transitionTo
(akka.japi.function.Function<W, Workflow.StepEffect> methodRef) Defines the next step to which the workflow should transition to.transitionTo
(akka.japi.function.Function2<W, I, Workflow.StepEffect> methodRef) Defines the next step to which the workflow should transition to.transitionTo
(String stepName) Deprecated.transitionTo
(String stepName, I input) Deprecated.usetransitionTo(akka.japi.function.Function2)
instead.updateState
(S newState)
-
Method Details
-
updateState
-
pause
Workflow.Effect.Transitional pause()Pause the workflow execution and wait for an external input, e.g. via command handler. -
transitionTo
Deprecated.usetransitionTo(akka.japi.function.Function2)
instead.Defines the next step to which the workflow should transition to.The step definition identified by
stepName
must have an input parameter of type I. In other words, the next step call (or asyncCall) must have been defined with aFunction
that accepts an input parameter of type I.- Parameters:
stepName
- The step name that should be executed next.input
- The input param for the next step.
-
transitionTo
Deprecated.usetransitionTo(akka.japi.function.Function)
instead.Defines the next step to which the workflow should transition to.The step definition identified by
stepName
must not have an input parameter. In other words, the next step call (or asyncCall) must have been defined with aSupplier
function.- Parameters:
stepName
- The step name that should be executed next.
-
transitionTo
<W> Workflow.Effect.Transitional transitionTo(akka.japi.function.Function<W, Workflow.StepEffect> methodRef) Defines the next step to which the workflow should transition to.The step is identified by a method reference that accepts no input parameters.
- Type Parameters:
W
- The workflow type containing the step method- Parameters:
methodRef
- Reference to the step method- Returns:
- A transitional effect
-
transitionTo
<W,I> Workflow.WithInput<I,Workflow.Effect.Transitional> transitionTo(akka.japi.function.Function2<W, I, Workflow.StepEffect> methodRef) Defines the next step to which the workflow should transition to.The step is identified by a method reference that accepts an input parameter.
- Type Parameters:
W
- The workflow type containing the step methodI
- The input parameter type for the step- Parameters:
methodRef
- Reference to the step method- Returns:
- A builder to provide the input parameter
-
end
Finish the workflow execution. After transition toend
, no more transitions are allowed. -
delete
Workflow.Effect.Transitional delete()Finish and delete the workflow execution. After transition todelete
, no more transitions are allowed. The actual workflow state deletion is done with a configurable delay to allow downstream consumers to observe that fact. -
reply
Create a message reply.- Type Parameters:
R
- The type of the message that must be returned by this call.- Parameters:
replyMessage
- The payload of the reply.- Returns:
- A message reply.
-
reply
Reply after for exampleupdateState
.- Type Parameters:
R
- The type of the message that must be returned by this call.- Parameters:
message
- The payload of the reply.metadata
- The metadata for the message.- Returns:
- A message reply.
-
error
Create an error reply.- Type Parameters:
R
- The type of the message that must be returned by this call.- Parameters:
message
- The error message.- Returns:
- An error reply.
-
error
Create an error reply.CommandException
will be serialized and sent to the client. It's possible to catch it with try-catch statement orCompletionStage
API when using asyncComponentClient
API.- Type Parameters:
R
- The type of the message that must be returned by this call.- Parameters:
commandException
- The command exception to be returned.- Returns:
- An error reply.
-
transitionTo(akka.japi.function.Function)
instead.