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