Package-level declarations

Types

Link copied to clipboard
class PublishedState @InternalWowApi constructor(val version: Int, val schemaFingerprint: String, val state: JsonNode)

The state of an aggregate after its stream version as it is published: the state as a JSON tree, numbers exact, and the schemaFingerprint of the state's schema, the one the Manifest and the aggregate's snapshots carry, so a reader knows which schema the tree follows.

Link copied to clipboard
class StateEventPayload @InternalWowApi constructor(val name: String, val revision: Int, val payload: JsonNode)

One event of a StateEventRecord: its type name (context.aggregate.Event) and the payload as a JSON tree, both of the current revision of its schema: a stored event of an older revision is upgraded before it is published, and one stored under a former name is published under the current one.

Link copied to clipboard
class StateEventRecord @InternalWowApi constructor(val ref: AggregateRef, val version: Int, val commandId: String, val requestId: String, val commandType: String, val commitTime: Long, val events: List<StateEventPayload>, val state: PublishedState? = null, val scope: Scope = Scope.NONE, val deleted: Boolean = false, val access: Map<String, Any?>? = null, val causation: Causation? = null, val headers: Map<String, String> = emptyMap(), val operator: Operator? = null, val transport: Transport? = null, val imported: Boolean = false, val accessVersion: Int? = if (access == null) null else version)

The published unit of a context: one committed event stream of an aggregate with the aggregate's state after it, what the Kafka Sink writes to the aggregate type's topic and what another context's subscription reads. It lives in :spi because the backends that write or read it depend on :spi only.