SimpleWaitSignal

data class SimpleWaitSignal(val id: String, val waitCommandId: String, val commandId: String, val aggregateId: AggregateId, val stage: CommandStage, val function: FunctionInfoData, val aggregateVersion: Int? = null, val isLastProjection: Boolean = false, val errorCode: String = ErrorCodes.SUCCEEDED, val errorMsg: String = ErrorCodes.SUCCEEDED_MESSAGE, val bindingErrors: List<BindingError> = emptyList(), val result: Map<String, Any> = emptyMap(), val commands: List<String> = listOf(), val signalTime: Long = System.currentTimeMillis()) : WaitSignal

Simple implementation of WaitSignal.

This data class provides a concrete implementation of the WaitSignal interface with all necessary properties for tracking command processing stages.

Parameters

id

unique identifier for this signal

waitCommandId

the command ID being waited on

commandId

the command that generated this signal

aggregateId

the aggregate this signal relates to

stage

the processing stage this signal represents

function

information about the function that generated this signal

aggregateVersion

the aggregate version at signal time (optional)

isLastProjection

whether this is the final projection

errorCode

error code if processing failed

errorMsg

error message if processing failed

bindingErrors

validation errors if any

result

additional result data

commands

command IDs sent by Saga

signalTime

timestamp when this signal was generated

See also

Constructors

Link copied to clipboard
constructor(id: String, waitCommandId: String, commandId: String, aggregateId: AggregateId, stage: CommandStage, function: FunctionInfoData, aggregateVersion: Int? = null, isLastProjection: Boolean = false, errorCode: String = ErrorCodes.SUCCEEDED, errorMsg: String = ErrorCodes.SUCCEEDED_MESSAGE, bindingErrors: List<BindingError> = emptyList(), result: Map<String, Any> = emptyMap(), commands: List<String> = listOf(), signalTime: Long = System.currentTimeMillis())

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
open override val aggregateId: AggregateId
Link copied to clipboard
open override val aggregateVersion: Int?
Link copied to clipboard
open override val bindingErrors: List<BindingError>
Link copied to clipboard
open override val commandId: String
Link copied to clipboard
open override val commands: List<String>
Link copied to clipboard
open override val errorCode: String
Link copied to clipboard
open override val errorMsg: String
Link copied to clipboard
open override val function: FunctionInfoData
Link copied to clipboard
open override val id: String
Link copied to clipboard
open override val isLastProjection: Boolean
Link copied to clipboard
open override val result: Map<String, Any>
Link copied to clipboard
open override val signalTime: Long
Link copied to clipboard
open override val stage: CommandStage
Link copied to clipboard
open val succeeded: Boolean
Link copied to clipboard
open override val waitCommandId: String

Functions

Link copied to clipboard
open override fun copyResult(result: Map<String, Any>): WaitSignal

Creates a copy of this signal with updated result data.

Link copied to clipboard
fun AggregateIdCapable.toGroupKey(parallelism: Int = DEFAULT_PARALLELISM): Int

Computes a grouping key for parallel processing based on the aggregate ID.

Link copied to clipboard

Converts a WaitSignal to a CommandResult.