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.

36 lines
997 B
Kotlin

package me.eater.hefbrug.state.impl
import me.eater.hefbrug.state.AbstractState
import me.eater.hefbrug.state.ExistenceStatus
import me.eater.hefbrug.state.ExistenceStatus.Allow
class PackageState(id: String) : AbstractState(id) {
var upgrade: Boolean by extState(false) {
if (status == Allow)
true
else
left == right
}
var name: String by state(id, true)
var status: ExistenceStatus by extState(Allow) {
Allow == right || Allow == left || left == right
}
/*override fun diff(currentState: AbstractState): Set<String> {
if (currentState is PackageState) {
return diff(currentState)
}
return super.diff(currentState)
}
fun diff(currentState: PackageState): Set<String> {
val diff = super.diff(currentState)
if ("upgrade" in diff && status == Allow && currentState.status == Absent) {
return diff - "upgrade"
}
return diff
}*/
}