aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/com/romangraef/jrconfig/DefaultConfigVariable.kt
blob: 661a0f6a8cb78eb6517fc1162655810d7d176ae1 (plain)
1
2
3
4
5
6
7
8
9
10
11
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)
}