38 lines
1 KiB
Kotlin
38 lines
1 KiB
Kotlin
package de.pheerai.rcdbquery.dataMappings
|
|
|
|
import de.pheerai.rcdbquery.dsl.MultiParamsBuilder
|
|
|
|
@Suppress("unused")
|
|
enum class Status(
|
|
override val prettyName: String,
|
|
override val fullName: String,
|
|
override val paramValue: Int
|
|
) : RcdbParamOption<Int> {
|
|
SBNO("SBNO", "Standing, but not operating", 311),
|
|
OPERATING("Operating", "In operation", 93),
|
|
UNDER_CONSTRUCTION("Under Construction", 310),
|
|
STORED("Stored", "In storage", 312)
|
|
;
|
|
|
|
constructor(name: String, paramId: Int) : this(name, name, paramId)
|
|
|
|
companion object {
|
|
const val staticParamName = "st"
|
|
|
|
fun of(input: String) = when(input) {
|
|
"SBNO" -> SBNO
|
|
"Operating" -> OPERATING
|
|
"Under Construction" -> UNDER_CONSTRUCTION
|
|
"In Storage" -> STORED
|
|
else -> null
|
|
}
|
|
}
|
|
}
|
|
|
|
fun MultiParamsBuilder.status(body: StatusBuilder.() -> StatusBuilder): MultiParamsBuilder {
|
|
val builder = StatusBuilder()
|
|
builder.body()
|
|
this[Status.staticParamName] = builder.build()
|
|
return this
|
|
}
|