aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/com/romangraef/jrconfig/FilePropertiesProvider.kt
diff options
context:
space:
mode:
authorRoman Gräf <romangraef@gmail.com>2020-04-30 03:28:48 +0200
committerRoman Gräf <romangraef@gmail.com>2020-04-30 03:28:48 +0200
commita22fd2a6b3248d8b9309d3a88ccc7e107d0cfcd8 (patch)
tree9a93ab31f0fee1c242bd1565dcb1c8823948622a /src/main/kotlin/com/romangraef/jrconfig/FilePropertiesProvider.kt
downloadjrconfig-a22fd2a6b3248d8b9309d3a88ccc7e107d0cfcd8.tar.gz
jrconfig-a22fd2a6b3248d8b9309d3a88ccc7e107d0cfcd8.tar.bz2
jrconfig-a22fd2a6b3248d8b9309d3a88ccc7e107d0cfcd8.zip
Initial commitv0.1
Diffstat (limited to 'src/main/kotlin/com/romangraef/jrconfig/FilePropertiesProvider.kt')
-rw-r--r--src/main/kotlin/com/romangraef/jrconfig/FilePropertiesProvider.kt45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/main/kotlin/com/romangraef/jrconfig/FilePropertiesProvider.kt b/src/main/kotlin/com/romangraef/jrconfig/FilePropertiesProvider.kt
new file mode 100644
index 0000000..fda7bf9
--- /dev/null
+++ b/src/main/kotlin/com/romangraef/jrconfig/FilePropertiesProvider.kt
@@ -0,0 +1,45 @@
+package com.romangraef.jrconfig
+
+import java.io.File
+import java.io.FileInputStream
+import java.io.FileOutputStream
+import java.io.IOException
+import java.util.*
+
+class FilePropertiesProvider(private val file: File) : ConfigProvider {
+ private var properties: Properties = Properties()
+
+ init {
+ try {
+ properties.load(FileInputStream(file))
+ } catch (e: IOException) {
+ e.printStackTrace()
+ }
+ }
+
+ companion object {
+ @JvmStatic
+ fun create(fileName: String): ConfigProvider {
+ return FilePropertiesProvider(File(fileName))
+ }
+ }
+
+ override fun provideData(point: String): String? {
+ return properties.getProperty(point)
+ }
+
+ override fun setData(point: String, data: String) {
+ properties.setProperty(point, data)
+ save()
+ }
+
+ private fun save() {
+ try {
+ properties.store(FileOutputStream(file), "application config")
+ } catch (e: IOException) {
+ e.printStackTrace()
+ }
+ }
+
+
+} \ No newline at end of file