aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/com/romangraef/jrconfig/DefaultConfigVariable.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/com/romangraef/jrconfig/DefaultConfigVariable.kt')
-rw-r--r--src/main/kotlin/com/romangraef/jrconfig/DefaultConfigVariable.kt12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/main/kotlin/com/romangraef/jrconfig/DefaultConfigVariable.kt b/src/main/kotlin/com/romangraef/jrconfig/DefaultConfigVariable.kt
new file mode 100644
index 0000000..661a0f6
--- /dev/null
+++ b/src/main/kotlin/com/romangraef/jrconfig/DefaultConfigVariable.kt
@@ -0,0 +1,12 @@
+package com.romangraef.jrconfig
+
+class DefaultConfigVariable<T>(private val internal: ConfigVariable<T>, private val default: T) : ConfigVariable<T> {
+ override fun get(): T = try {
+ internal.get()
+ } catch (e: Exception) {
+ default
+ }
+
+ override fun set(value: T): Unit = internal.set(value)
+ override fun defaultValue(t: T?): ConfigVariable<T> = internal.defaultValue(t)
+} \ No newline at end of file