Packages

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
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. EventSourcedEntity
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new EventSourcedEntity()

Abstract Value Members

  1. 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

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. 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
  4. 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()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. final def _internalSetCommandContext(context: Option[CommandContext]): Unit

    INTERNAL API

  7. final def _internalSetEventContext(context: Option[EventContext]): Unit

    INTERNAL API

  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  10. 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
  11. final def effects: Builder[S]
    Attributes
    protected
  12. 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
  13. 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
  14. 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
  15. 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
  16. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  18. 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
  19. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  20. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  21. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  22. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  24. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  25. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  26. def toString(): String
    Definition Classes
    AnyRef → Any
  27. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  28. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  29. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

  2. 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 of value.formatted(formatString), or use the f"" string interpolator. In Java 15 and later, formatted resolves to the new method in String which has reversed parameters.

  3. 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.

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd fromEventSourcedEntity[S] to any2stringadd[EventSourcedEntity[S]]

Inherited by implicit conversion StringFormat fromEventSourcedEntity[S] to StringFormat[EventSourcedEntity[S]]

Inherited by implicit conversion Ensuring fromEventSourcedEntity[S] to Ensuring[EventSourcedEntity[S]]

Inherited by implicit conversion ArrowAssoc fromEventSourcedEntity[S] to ArrowAssoc[EventSourcedEntity[S]]

Ungrouped