You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
943 B
Kotlin

package wf.servitor.common
import wf.servitor.common.workflow.Workflow
import java.io.Serializable
import java.util.*
sealed class Event : Serializable {
data class Task(
override val workflow: Workflow,
val context: Map<String, Any?> = mapOf(),
override val flow: String = "entry",
override val path: List<Int> = listOf(0),
val dispatchedValues: List<Any?> = listOf(),
override val id: UUID = UUID.randomUUID()
) : Event(), TaskLike
data class Relay(
val service: String,
val method: String,
val arguments: List<Any?>,
val task: Task,
val id: UUID = UUID.randomUUID()
) : Event()
data class TaskUpdate(
val task: TaskLike,
val status: String
) : Event()
interface TaskLike : Serializable {
val id: UUID
val workflow: Workflow
val flow: String
val path: List<Int>
}
}