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
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- def ->[B](y: B): (State[S, D, E], B)
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- 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()
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate() @throws( ... )
- val domainEvents: Seq[E]
- def ensuring(cond: (State[S, D, E]) ⇒ Boolean, msg: ⇒ Any): State[S, D, E]
- def ensuring(cond: (State[S, D, E]) ⇒ Boolean): State[S, D, E]
- def ensuring(cond: Boolean, msg: ⇒ Any): State[S, D, E]
- def ensuring(cond: Boolean): State[S, D, E]
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
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.
- def formatted(fmtstr: String): String
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
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() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- 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]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- val timeout: Option[FiniteDuration]
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
- def →[B](y: B): (State[S, D, E], B)