object ChangeEventHandler

API May Change

Annotations
@ApiMayChange()
Source
ChangeEventHandler.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ChangeEventHandler
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. def apply[Command, State, ChangeEvent](updateHandler: (State, State, Command) => ChangeEvent, deleteHandler: (State, Command) => ChangeEvent): ChangeEventHandler[Command, State, ChangeEvent]

    Define these handlers in the DurableStateBehavior#withChangeEventHandler to store additional change event when the state is updated.

    Define these handlers in the 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.

    updateHandler

    Function that given the previous and new state creates the change event to be stored when the DurableState is updated.

    deleteHandler

    Function that given the previous state creates the change event to be stored when the DurableState is deleted.