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 pekko.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
- Product
- Equals
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
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[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- 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.
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @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
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- 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(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
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 State[S, D, E] toStringFormat[State[S, D, E]] 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): (State[S, D, E], B)
- Implicit
- This member is added by an implicit conversion from State[S, D, E] toArrowAssoc[State[S, D, E]] 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.