diff options
author | Roman Gräf <romangraef@loves.dicksinhisan.us> | 2020-07-13 01:57:33 +0200 |
---|---|---|
committer | Roman Gräf <romangraef@loves.dicksinhisan.us> | 2020-07-13 01:57:33 +0200 |
commit | 11b49d815b69a8ff45643d357d67cbdab11caf4e (patch) | |
tree | e97e87737426020d4e79dd5ea69958ea62708680 /src/main/kotlin/com/romangraef/jrconfig/TransformerConfigVariable.kt | |
parent | 92358494319c66a5ded4ee13a173846cd15f284e (diff) | |
download | jrconfig-1.0.tar.gz jrconfig-1.0.tar.bz2 jrconfig-1.0.zip |
default valuesv1.0
Diffstat (limited to 'src/main/kotlin/com/romangraef/jrconfig/TransformerConfigVariable.kt')
-rw-r--r-- | src/main/kotlin/com/romangraef/jrconfig/TransformerConfigVariable.kt | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/main/kotlin/com/romangraef/jrconfig/TransformerConfigVariable.kt b/src/main/kotlin/com/romangraef/jrconfig/TransformerConfigVariable.kt index ae38409..e1034c2 100644 --- a/src/main/kotlin/com/romangraef/jrconfig/TransformerConfigVariable.kt +++ b/src/main/kotlin/com/romangraef/jrconfig/TransformerConfigVariable.kt @@ -2,7 +2,7 @@ package com.romangraef.jrconfig import java.util.function.Function -abstract class TransformerConfigVariable<T>(private val provider: ConfigProvider, private val point: String) : +abstract class TransformerConfigVariable<T>(private val provider: ConfigSaveLoadProvider, private val point: String) : ConfigVariable<T> { protected abstract fun transform(value: String): T protected abstract fun serialize(data: T): String @@ -12,16 +12,22 @@ abstract class TransformerConfigVariable<T>(private val provider: ConfigProvider } - override fun set(value: T) = + override fun set(value: T) { provider.setData(point, serialize(value)) + } + override fun defaultValue(t: T?): ConfigVariable<T> = if (t == null) { + this + } else { + DefaultConfigVariable(this, t) + } companion object { /** * Quick and dirty. Please consider using a subclass. */ fun <T> getVariable( - provider: ConfigProvider, + provider: ConfigSaveLoadProvider, point: String, transform: Function<String, T>, serialize: Function<T, String> |