rcdbquery/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/Status.kt
Oliver Rümpelein d8412c32f2 Add more search types:
- Classification
 - Status
 - Make some `order` params invisible for `all` params
 - Solved some order types
2020-04-30 16:30:16 +02:00

38 lines
1.1 KiB
Kotlin

package de.pheerai.rcdbquery.dataMappings
import de.pheerai.rcdbquery.dsl.RcdbQueryParamsBuilder
@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 RcdbQueryParamsBuilder.status(body: StatusBuilder.() -> StatusBuilder): RcdbQueryParamsBuilder {
val builder = StatusBuilder()
builder.body()
this[Status.staticParamName] = builder.build()
return this
}