aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/com/romangraef/jrconfig/variables/EnumVariable.kt
diff options
context:
space:
mode:
authorRoman Gräf <romangraef@loves.dicksinhisan.us>2020-07-13 01:57:33 +0200
committerRoman Gräf <romangraef@loves.dicksinhisan.us>2020-07-13 01:57:33 +0200
commit11b49d815b69a8ff45643d357d67cbdab11caf4e (patch)
treee97e87737426020d4e79dd5ea69958ea62708680 /src/main/kotlin/com/romangraef/jrconfig/variables/EnumVariable.kt
parent92358494319c66a5ded4ee13a173846cd15f284e (diff)
downloadjrconfig-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/variables/EnumVariable.kt')
-rw-r--r--src/main/kotlin/com/romangraef/jrconfig/variables/EnumVariable.kt15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/main/kotlin/com/romangraef/jrconfig/variables/EnumVariable.kt b/src/main/kotlin/com/romangraef/jrconfig/variables/EnumVariable.kt
new file mode 100644
index 0000000..2a65177
--- /dev/null
+++ b/src/main/kotlin/com/romangraef/jrconfig/variables/EnumVariable.kt
@@ -0,0 +1,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
+ }
+} \ No newline at end of file