9fe30bfc12
^KT-57567
27 lines
719 B
Kotlin
Vendored
27 lines
719 B
Kotlin
Vendored
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
|
|
}
|
|
}
|