diff options
author | Roman Gräf <romangraef@gmail.com> | 2020-05-01 00:14:07 +0200 |
---|---|---|
committer | Roman Gräf <romangraef@gmail.com> | 2020-05-01 00:14:07 +0200 |
commit | 21bd21a6bb736fd829c94222ad5450d9b4ca2f00 (patch) | |
tree | 3d4cefd0997cf2bb193c0386b4bc3bd4729758dd /src | |
parent | 42c7a0c8ef35e5052c6c81abd60d137baef6e852 (diff) | |
download | jrconfig-21bd21a6bb736fd829c94222ad5450d9b4ca2f00.tar.gz jrconfig-21bd21a6bb736fd829c94222ad5450d9b4ca2f00.tar.bz2 jrconfig-21bd21a6bb736fd829c94222ad5450d9b4ca2f00.zip |
Kotlin delegatesv0.4
Diffstat (limited to 'src')
-rw-r--r-- | src/main/kotlin/com/romangraef/jrconfig/ConfigVariable.kt | 4 | ||||
-rw-r--r-- | src/test/kotlin/com/romangraef/jrconfig/MainKt.kt | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/main/kotlin/com/romangraef/jrconfig/ConfigVariable.kt b/src/main/kotlin/com/romangraef/jrconfig/ConfigVariable.kt index 5874e76..8a9d375 100644 --- a/src/main/kotlin/com/romangraef/jrconfig/ConfigVariable.kt +++ b/src/main/kotlin/com/romangraef/jrconfig/ConfigVariable.kt @@ -1,6 +1,10 @@ package com.romangraef.jrconfig +import kotlin.reflect.KProperty + interface ConfigVariable<T> { fun get(): T fun set(value: T) + operator fun getValue(thisRef: Any?, property: KProperty<*>) = get() + operator fun setValue(thisRef: Any?, property: KProperty<*>, value: T) = set(value) }
\ No newline at end of file diff --git a/src/test/kotlin/com/romangraef/jrconfig/MainKt.kt b/src/test/kotlin/com/romangraef/jrconfig/MainKt.kt index 504b446..4fa593f 100644 --- a/src/test/kotlin/com/romangraef/jrconfig/MainKt.kt +++ b/src/test/kotlin/com/romangraef/jrconfig/MainKt.kt @@ -1,8 +1,11 @@ package com.romangraef.jrconfig val token = Config.get<String>("token") +var someOtherOption by Config.get<String>("someOtherOption") fun main() { Config.use(FilePropertiesProvider.create("config.properties")) println(token.get()) + println(someOtherOption) + someOtherOption = "lul" }
\ No newline at end of file |