blob: 01cbe00b46c8e87ef5ddc58dadb27ea2a8087f9a [file]
enum class Event {
ON_CREATE, ON_START, ON_STOP, ON_DESTROY;
companion object {
@JvmStatic
fun upTo(state: State): Event? {
return when(state) {
State.ENQUEUED -> ON_CREATE
State.RUNNING -> ON_START
State.BLOCKED -> ON_STOP
else -> null
}
}
}
}
enum class State {
ENQUEUED, RUNNING, SUCCEEDED, FAILED, BLOCKED, CANCELLED;
val isFinished: Boolean
get() = this == SUCCEEDED || this == FAILED || this == CANCELLED
fun isAtLeast(state: State): Boolean {
return compareTo(state) >= 0
}
companion object {
fun done(state: State) = state.isFinished
}
}