abstract class EventSourcedEntity[S] extends AnyRef
The Event Sourced state model captures changes to data by storing events in a journal. The current entity state is derived from the emitted events.
When implementing an Event Sourced Entity, you first define what will be its internal state (your domain model), the commands it will handle (mutation requests) and the events it will emit (state changes).
Each command is handled by a command handler. Command handlers are methods returning an kalix.scalasdk.eventsourcedentity.EventSourcedEntity.Effect. When handling a command, you use the Effect API to:
- emit events and build a reply
- directly returning to the caller if the command is not requesting any state change
- rejected the command by returning an error
- instruct Kalix to delete the entity
Each event is handled by an event handler method and should return an updated state for the entity.
- S
The type of the state for this entity.
- Source
- EventSourcedEntity.scala
- Alphabetic
- By Inheritance
- EventSourcedEntity
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new EventSourcedEntity()
Abstract Value Members
- abstract def emptyState: S
Implement by returning the initial empty state object.
Implement by returning the initial empty state object. This object will be passed into the command and event handlers, until a new state replaces it.
Also known as "zero state" or "neutral state".
null
is an allowed value.
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 EventSourcedEntity[S] toany2stringadd[EventSourcedEntity[S]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (EventSourcedEntity[S], B)
- Implicit
- This member is added by an implicit conversion from EventSourcedEntity[S] toArrowAssoc[EventSourcedEntity[S]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def _internalSetCommandContext(context: Option[CommandContext]): Unit
INTERNAL API
- final def _internalSetEventContext(context: Option[EventContext]): Unit
INTERNAL API
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def commandContext(): CommandContext
Additional context and metadata for a command handler.
Additional context and metadata for a command handler.
It will throw an exception if accessed from constructor.
- Attributes
- protected
- final def effects: Builder[S]
- Attributes
- protected
- def ensuring(cond: (EventSourcedEntity[S]) => Boolean, msg: => Any): EventSourcedEntity[S]
- Implicit
- This member is added by an implicit conversion from EventSourcedEntity[S] toEnsuring[EventSourcedEntity[S]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (EventSourcedEntity[S]) => Boolean): EventSourcedEntity[S]
- Implicit
- This member is added by an implicit conversion from EventSourcedEntity[S] toEnsuring[EventSourcedEntity[S]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): EventSourcedEntity[S]
- Implicit
- This member is added by an implicit conversion from EventSourcedEntity[S] toEnsuring[EventSourcedEntity[S]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): EventSourcedEntity[S]
- Implicit
- This member is added by an implicit conversion from EventSourcedEntity[S] toEnsuring[EventSourcedEntity[S]] 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 eventContext(): EventContext
Additional context and metadata for a command handler.
Additional context and metadata for a command handler.
It will throw an exception if accessed from constructor.
- Attributes
- protected
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @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
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- 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()
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 EventSourcedEntity[S] toStringFormat[EventSourcedEntity[S]] 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): (EventSourcedEntity[S], B)
- Implicit
- This member is added by an implicit conversion from EventSourcedEntity[S] toArrowAssoc[EventSourcedEntity[S]] 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.