trait ChangeEventHandler[Command, State, ChangeEvent] extends AnyRef
API May Change: Implement this interface and use it in DurableStateBehavior#withChangeEventHandler to store additional change event when the state is updated. The event can be used in Projections.
The updateHandler
and deleteHandler
are invoked after the ordinary command handler. Be aware of that
if the state is mutable and modified by the command handler the previous state parameter of the updateHandler
will also include the modification, since it's the same instance. If that is a problem you need to use
immutable state and create a new state instance when modifying it in the command handler.
- Annotations
- @ApiMayChange()
- Source
- ChangeEventHandler.scala
- Alphabetic
- By Inheritance
- ChangeEventHandler
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def deleteHandler(previousState: State, command: Command): ChangeEvent
Store additional change event when the state is updated.
Store additional change event when the state is updated. The event can be used in Projections.
- previousState
Previous state before the delete.
- returns
The change event to be stored.
- abstract def updateHandler(previousState: State, newState: State, command: Command): ChangeEvent
Store additional change event when the state is updated.
Store additional change event when the state is updated. The event can be used in Projections.
- previousState
Previous state before the update.
- newState
New state after the update.
- returns
The change event to be stored.
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from ChangeEventHandler[Command, State, ChangeEvent] toany2stringadd[ChangeEventHandler[Command, State, ChangeEvent]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (ChangeEventHandler[Command, State, ChangeEvent], B)
- Implicit
- This member is added by an implicit conversion from ChangeEventHandler[Command, State, ChangeEvent] toArrowAssoc[ChangeEventHandler[Command, State, ChangeEvent]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- 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]) @HotSpotIntrinsicCandidate() @native()
- def ensuring(cond: (ChangeEventHandler[Command, State, ChangeEvent]) => Boolean, msg: => Any): ChangeEventHandler[Command, State, ChangeEvent]
- Implicit
- This member is added by an implicit conversion from ChangeEventHandler[Command, State, ChangeEvent] toEnsuring[ChangeEventHandler[Command, State, ChangeEvent]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (ChangeEventHandler[Command, State, ChangeEvent]) => Boolean): ChangeEventHandler[Command, State, ChangeEvent]
- Implicit
- This member is added by an implicit conversion from ChangeEventHandler[Command, State, ChangeEvent] toEnsuring[ChangeEventHandler[Command, State, ChangeEvent]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): ChangeEventHandler[Command, State, ChangeEvent]
- Implicit
- This member is added by an implicit conversion from ChangeEventHandler[Command, State, ChangeEvent] toEnsuring[ChangeEventHandler[Command, State, ChangeEvent]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): ChangeEventHandler[Command, State, ChangeEvent]
- Implicit
- This member is added by an implicit conversion from ChangeEventHandler[Command, State, ChangeEvent] toEnsuring[ChangeEventHandler[Command, State, ChangeEvent]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- 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
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- 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()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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 ChangeEventHandler[Command, State, ChangeEvent] toStringFormat[ChangeEventHandler[Command, State, ChangeEvent]] 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): (ChangeEventHandler[Command, State, ChangeEvent], B)
- Implicit
- This member is added by an implicit conversion from ChangeEventHandler[Command, State, ChangeEvent] toArrowAssoc[ChangeEventHandler[Command, State, ChangeEvent]] 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.