diff options
author | Roman Gräf <romangraef@gmail.com> | 2020-04-30 03:28:48 +0200 |
---|---|---|
committer | Roman Gräf <romangraef@gmail.com> | 2020-04-30 03:28:48 +0200 |
commit | a22fd2a6b3248d8b9309d3a88ccc7e107d0cfcd8 (patch) | |
tree | 9a93ab31f0fee1c242bd1565dcb1c8823948622a /src/main/kotlin/com/romangraef/jrconfig/FilePropertiesProvider.kt | |
download | jrconfig-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.kt | 45 |
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 |