trait Builder[S] extends AnyRef
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.
- S
The type of the state for this workflow.
- Source
- AbstractWorkflow.scala
- Alphabetic
- By Inheritance
- Builder
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def end: TransitionalEffect[Void]
Finish the workflow execution.
Finish the workflow execution. After transition to
end
, no more transitions are allowed.- Annotations
- @ApiMayChange()
- abstract def error[R](description: String, statusCode: Code): ErrorEffect[R]
Create an error reply with a gRPC status code.
Create an error reply with a gRPC status code.
- R
The type of the message that must be returned by this call.
- description
The description of the error.
- statusCode
A custom gRPC status code.
- returns
An error reply.
- abstract def error[R](description: String): ErrorEffect[R]
Create an error reply.
Create an error reply.
- R
The type of the message that must be returned by this call.
- description
The description of the error.
- returns
An error reply.
- abstract def pause: TransitionalEffect[Void]
Pause the workflow execution and wait for an external input, e.g.
Pause the workflow execution and wait for an external input, e.g. via command handler.
- Annotations
- @ApiMayChange()
- abstract def reply[R](message: R, metadata: Metadata): Effect[R]
Reply after for example
updateState
.Reply after for example
updateState
.- R
The type of the message that must be returned by this call.
- message
The payload of the reply.
- metadata
The metadata for the message.
- returns
A message reply.
- abstract def reply[R](replyMessage: R): Effect[R]
Create a message reply.
Create a message reply.
- R
The type of the message that must be returned by this call.
- replyMessage
The payload of the reply.
- returns
A message reply.
- abstract def transitionTo(stepName: String): TransitionalEffect[Void]
Defines the next step to which the workflow should transition to.
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 a parameters less function.- stepName
The step name that should be executed next.
- Annotations
- @ApiMayChange()
- abstract def transitionTo[I](stepName: String, input: I): TransitionalEffect[Void]
Defines the next step to which the workflow should transition to.
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 a function that accepts an input parameter of type I.- I
The input param type for the next step.
- stepName
The step name that should be executed next.
- input
The input param for the next step.
- Annotations
- @ApiMayChange()
- abstract def updateState(newState: S): PersistenceEffectBuilder[S]
- Annotations
- @ApiMayChange()
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- def ->[B](y: B): (Builder[S], B)
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def ensuring(cond: (Builder[S]) => Boolean, msg: => Any): Builder[S]
- def ensuring(cond: (Builder[S]) => Boolean): Builder[S]
- def ensuring(cond: Boolean, msg: => Any): Builder[S]
- def ensuring(cond: Boolean): Builder[S]
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from Builder[S] toStringFormat[Builder[S]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)
instead ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- def →[B](y: B): (Builder[S], B)
- Implicit
- This member is added by an implicit conversion from Builder[S] toArrowAssoc[Builder[S]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.