Restructure "relevancy", add missing returns.
This commit is contained in:
parent
d8412c32f2
commit
53def3bc00
6 changed files with 28 additions and 35 deletions
|
@ -7,7 +7,7 @@ enum class Order(
|
||||||
override val prettyName: String,
|
override val prettyName: String,
|
||||||
override val fullName: String,
|
override val fullName: String,
|
||||||
override val paramValue: Int,
|
override val paramValue: Int,
|
||||||
override val relevantForAll: Boolean = false
|
override val relevantForAll: Boolean = true
|
||||||
) : RcdbParamOption<Int>, RelevantForAll {
|
) : RcdbParamOption<Int>, RelevantForAll {
|
||||||
IMAGES("Images", "Amount of Images", 0),
|
IMAGES("Images", "Amount of Images", 0),
|
||||||
NAME("Name", "Name of the Coaster", 1),
|
NAME("Name", "Name of the Coaster", 1),
|
||||||
|
@ -22,7 +22,7 @@ enum class Order(
|
||||||
level = DeprecationLevel.WARNING,
|
level = DeprecationLevel.WARNING,
|
||||||
replaceWith = ReplaceWith("Order.STATE")
|
replaceWith = ReplaceWith("Order.STATE")
|
||||||
)
|
)
|
||||||
STATE_2("State", "Operational State (legacy)", 10, relevantForAll = true),
|
STATE_2("State", "Operational State (legacy)", 10, relevantForAll = false),
|
||||||
ENTERED("Entered", 12),
|
ENTERED("Entered", 12),
|
||||||
TYPE("Type", "Construction Type (Wood, Steel)", 13),
|
TYPE("Type", "Construction Type (Wood, Steel)", 13),
|
||||||
DESIGN("Design", "Train Design (Sit-Down, Invert,...)", 14),
|
DESIGN("Design", "Train Design (Sit-Down, Invert,...)", 14),
|
||||||
|
|
|
@ -11,15 +11,13 @@ class Page(override val paramValue: Int) : RcdbParamOption<Int> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun RcdbQueryParamsBuilder.page(page: Int) {
|
fun RcdbQueryParamsBuilder.page(page: Int): RcdbQueryParamsBuilder = if (Page.staticParamName !in this.keys()) {
|
||||||
if (Page.staticParamName !in this.keys()) {
|
also { this[Page.staticParamName] = listOf(Page(page)) }
|
||||||
this[Page.staticParamName] = listOf(Page(page))
|
} else {
|
||||||
} else {
|
error(
|
||||||
error(
|
"""Only one page must be given!
|
||||||
"""Only one page must be given!
|
| Old page: ${this[Page.staticParamName]!![0].paramValue}
|
||||||
| Old page: ${this[Page.staticParamName]!![0].paramValue}
|
| New page: $page
|
||||||
| New page: $page
|
""".trimMargin()
|
||||||
""".trimMargin()
|
)
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,7 @@ sealed class RcdbParamOptionBuilder<out U : Any, T : RcdbParamOption<U>> {
|
||||||
paramList.addAll(items)
|
paramList.addAll(items)
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
protected open fun addAll(items: Collection<T>): RcdbParamOptionBuilder<U, T> {
|
protected open fun addAll(items: Collection<T>): RcdbParamOptionBuilder<U, T> {
|
||||||
paramList.addAll(items)
|
paramList.addAll(items)
|
||||||
return this
|
return this
|
||||||
|
@ -45,6 +46,7 @@ class OrderBuilder : RcdbParamOptionBuilder<Int, Order>() {
|
||||||
super.addAll(items)
|
super.addAll(items)
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun addAll(items: Collection<Order>): OrderBuilder {
|
override fun addAll(items: Collection<Order>): OrderBuilder {
|
||||||
super.addAll(items)
|
super.addAll(items)
|
||||||
return this
|
return this
|
||||||
|
@ -75,7 +77,7 @@ class OrderBuilder : RcdbParamOptionBuilder<Int, Order>() {
|
||||||
fun rideTime() = this.add(Order.RIDE_TIME)
|
fun rideTime() = this.add(Order.RIDE_TIME)
|
||||||
fun state() = this.add(Order.STATUS)
|
fun state() = this.add(Order.STATUS)
|
||||||
fun closing() = this.add(Order.CLOSING)
|
fun closing() = this.add(Order.CLOSING)
|
||||||
fun all() = this.addAll(Order.values().filterNot { it.relevantForAll })
|
fun all() = this.addAll(Order.values().filter { it.relevantForAll })
|
||||||
}
|
}
|
||||||
|
|
||||||
class StatusBuilder : RcdbParamOptionBuilder<Int, Status>() {
|
class StatusBuilder : RcdbParamOptionBuilder<Int, Status>() {
|
||||||
|
|
|
@ -2,19 +2,18 @@ package de.pheerai.rcdbquery.dataMappings
|
||||||
|
|
||||||
import de.pheerai.rcdbquery.dsl.RcdbQueryParamsBuilder
|
import de.pheerai.rcdbquery.dsl.RcdbQueryParamsBuilder
|
||||||
|
|
||||||
class SearchTerm(override val paramValue: String): RcdbParamOption<String> {
|
class SearchTerm(override val paramValue: String) : RcdbParamOption<String> {
|
||||||
override val prettyName = "Search Term"
|
override val prettyName = "Search Term"
|
||||||
override val fullName = "Search for elements whose name contain this term"
|
override val fullName = "Search for elements whose name contain this term"
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val staticParamName = "nc"
|
const val staticParamName = "nc"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun RcdbQueryParamsBuilder.searchTerm(term: String) {
|
fun RcdbQueryParamsBuilder.searchTerm(term: String): RcdbQueryParamsBuilder =
|
||||||
if (SearchTerm.staticParamName !in this.keys()) {
|
if (SearchTerm.staticParamName !in this.keys()) {
|
||||||
this[SearchTerm.staticParamName] = listOf(
|
also { this[SearchTerm.staticParamName] = listOf(SearchTerm(term)) }
|
||||||
SearchTerm(term)
|
|
||||||
)
|
|
||||||
} else {
|
} else {
|
||||||
error(
|
error(
|
||||||
"""Only one search term must ever be set
|
"""Only one search term must ever be set
|
||||||
|
@ -22,4 +21,3 @@ fun RcdbQueryParamsBuilder.searchTerm(term: String) {
|
||||||
| New term: $term""".trimMargin()
|
| New term: $term""".trimMargin()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
|
@ -19,9 +19,9 @@ enum class SearchType(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun RcdbQueryParamsBuilder.searchType(searchType: SearchType) {
|
fun RcdbQueryParamsBuilder.searchType(searchType: SearchType): RcdbQueryParamsBuilder =
|
||||||
if (SearchType.staticParamName !in this.keys()) {
|
if (SearchType.staticParamName !in this.keys()) {
|
||||||
this[SearchType.staticParamName] = listOf(searchType)
|
also { this[SearchType.staticParamName] = listOf(searchType) }
|
||||||
} else {
|
} else {
|
||||||
error(
|
error(
|
||||||
"""Only one search type must ever be set
|
"""Only one search type must ever be set
|
||||||
|
@ -29,4 +29,3 @@ fun RcdbQueryParamsBuilder.searchType(searchType: SearchType) {
|
||||||
| New type: ${searchType.prettyName}""".trimMargin()
|
| New type: ${searchType.prettyName}""".trimMargin()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
|
@ -13,16 +13,12 @@ class StartsWith(override val paramValue: String) : RcdbParamOption<String> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun RcdbQueryParamsBuilder.startsWith(term: String) {
|
fun RcdbQueryParamsBuilder.startsWith(term: String) = if (StartsWith.staticParamName !in this.keys()) {
|
||||||
if (StartsWith.staticParamName !in this.keys()) {
|
also { this[StartsWith.staticParamName] = listOf(StartsWith(term)) }
|
||||||
this[StartsWith.staticParamName] = listOf(
|
} else {
|
||||||
StartsWith(term)
|
error(
|
||||||
)
|
"""Only one starts with term must ever be set
|
||||||
} else {
|
| Old term: ${this[StartsWith.staticParamName]!![0].paramValue}
|
||||||
error(
|
| New term: $term""".trimMargin()
|
||||||
"""Only one starts with term must ever be set
|
)
|
||||||
| Old term: ${this[StartsWith.staticParamName]!![0].paramValue}
|
|
||||||
| New term: $term""".trimMargin()
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue