fun save(persistencePath: String) { val file = File(persistencePath) if (file.exists()) { file.delete() } file.createNewFile() file.bufferedWriter().use { Json.createWriter(it).apply { val configurations = Json.createArrayBuilder() modelConfigurations.forEach { configuration -> configurations.add(configuration.toJSON()) } writeArray(configurations.build()) } } } fun load(persistencePath: String) { modelConfigurations.clear() val file = File(persistencePath) if(file.exists()) { val data = loadJsonArray(file.toPath()) data.forEach { val cfg = loadJsonModel(it.toString()) modelConfigurations.add(cfg) } } } }