final case class State[S, D, E](stateName: S, stateData: D, timeout: Option[FiniteDuration] = None, stopReason: Option[Reason] = None, replies: List[Any] = Nil, domainEvents: Seq[E] = Nil, afterTransitionDo: (D) ⇒ Unit = _: D =>)(notifies: Boolean = true) extends Product with Serializable
This captures all of the managed state of the akka.actor.FSM: the state name, the state data, possibly custom timeout, stop reason, replies accumulated while processing the last message, possibly domain event and handler to be executed after FSM moves to the new state (also triggered when staying in the same state)
- Source
- PersistentFSM.scala
- Alphabetic
- By Inheritance
- State
- Serializable
- Serializable
- Product
- Equals
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
Value Members
- val afterTransitionDo: (D) ⇒ Unit
-
def
andThen(handler: (D) ⇒ Unit): State[S, D, E]
Register a handler to be triggered after the state has been persisted successfully
-
def
applying(events: E*): State[S, D, E]
Specify domain events to be applied when transitioning to the new state.
Specify domain events to be applied when transitioning to the new state.
- Annotations
- @varargs()
- val domainEvents: Seq[E]
-
def
forMax(timeout: Duration): State[S, D, E]
Java API: Modify state transition descriptor to include a state timeout for the next state.
Java API: Modify state transition descriptor to include a state timeout for the next state. This timeout overrides any default timeout set for the next state.
Use Duration.Inf to deactivate an existing timeout.
-
def
forMax(timeout: Duration): State[S, D, E]
Modify state transition descriptor to include a state timeout for the next state.
Modify state transition descriptor to include a state timeout for the next state. This timeout overrides any default timeout set for the next state.
Use Duration.Inf to deactivate an existing timeout.
- val replies: List[Any]
-
def
replying(replyValue: Any): State[S, D, E]
Send reply to sender of the current message, if available.
Send reply to sender of the current message, if available.
- returns
this state transition descriptor
- val stateData: D
- val stateName: S
- val stopReason: Option[Reason]
- val timeout: Option[FiniteDuration]