package de.pheerai.rcdbquery.dataMappings import de.pheerai.rcdbquery.dsl.RcdbQueryParamsBuilder class SearchTerm(override val paramValue: String): RcdbParamOption { override val prettyName = "Search Term" override val fullName = "Search for elements whose name contain this term" companion object { const val staticParamName = "nc" } } fun RcdbQueryParamsBuilder.searchTerm(term: String) { if (SearchTerm.staticParamName !in this.keys()) { this[SearchTerm.staticParamName] = listOf( SearchTerm(term) ) } else { error( """Only one search term must ever be set | Old term: ${this[SearchTerm.staticParamName]!![0].paramValue} | New term: $term""".trimMargin() ) } }