aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/com/romangraef/jrconfig/variables/EnumVariable.kt
blob: 2a651771daa015dd9d7bd21d86fc30838ba2a514 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package com.romangraef.jrconfig.variables

import com.romangraef.jrconfig.ConfigSaveLoadProvider
import com.romangraef.jrconfig.TransformerConfigVariable

class EnumVariable<T : Enum<T>>(val enumClass: Class<T>, provider: ConfigSaveLoadProvider, point: String) :
    TransformerConfigVariable<T>(provider, point) {
    override fun transform(value: String): T {
        return java.lang.Enum.valueOf(enumClass, value)
    }

    override fun serialize(data: T): String {
        return data.name
    }
}