timetable/module-bahnApi/src/main/kotlin/de/twomartens/timetable/bahnApi/model/Eva.kt

23 lines
472 B
Kotlin

package de.twomartens.timetable.bahnApi.model
@JvmInline
value class Eva(val value: Int) {
init {
if (isKnown()) {
require(value in 8000000..8999999) {
"Eva number must start with an 8 and have 7 digits"
}
}
}
private fun isKnown() = value != -1
companion object {
val UNKNOWN = Eva(-1)
fun of(stationId: String): Eva {
return Eva(stationId.toInt())
}
}
}