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
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>
|
|
}
|
|
}
|