diff --git a/de.srsoftware.configuration.api/build.gradle.kts b/de.srsoftware.configuration.api/build.gradle.kts index dbbe379..98772b1 100644 --- a/de.srsoftware.configuration.api/build.gradle.kts +++ b/de.srsoftware.configuration.api/build.gradle.kts @@ -9,7 +9,7 @@ object Meta { val COMPONENT_TYPE = "java" // "java" or "versionCatalog" val GROUP = "de.srsoftware" val ARTIFACT_ID = "configuration.api" - val VERSION = "1.0.1" + val VERSION = "1.0.2" val PUBLISHING_TYPE = "AUTOMATIC" // USER_MANAGED or AUTOMATIC val SHA_ALGORITHMS = listOf("SHA-256", "SHA-512") // sha256 and sha512 are supported but not mandatory. Only sha1 is mandatory but it is supported by default. val DESC = "SRSoftware Configuration API" diff --git a/de.srsoftware.configuration.api/src/main/java/de/srsoftware/configuration/Configuration.java b/de.srsoftware.configuration.api/src/main/java/de/srsoftware/configuration/Configuration.java index 3248528..17c84ca 100644 --- a/de.srsoftware.configuration.api/src/main/java/de/srsoftware/configuration/Configuration.java +++ b/de.srsoftware.configuration.api/src/main/java/de/srsoftware/configuration/Configuration.java @@ -2,6 +2,7 @@ package de.srsoftware.configuration; import java.io.IOException; +import java.util.Collection; import java.util.Optional; /** @@ -35,6 +36,12 @@ public interface Configuration { */ <T> T get(String key, T defaultValue); + /** + * Get the configuration`s key set + * @return a collection of strings which are the keys to the configuration + */ + Collection<String> keys(); + /** * Assign a specific key with a new value. If the key was assigned with another value before, the old value is overwritten * @param key specifies, which value is to be assigned diff --git a/de.srsoftware.configuration.json/src/main/java/de/srsoftware/configuration/JsonConfig.java b/de.srsoftware.configuration.json/src/main/java/de/srsoftware/configuration/JsonConfig.java index f2419f9..d65a8d5 100644 --- a/de.srsoftware.configuration.json/src/main/java/de/srsoftware/configuration/JsonConfig.java +++ b/de.srsoftware.configuration.json/src/main/java/de/srsoftware/configuration/JsonConfig.java @@ -130,6 +130,11 @@ public class JsonConfig implements Configuration { } } + @Override + public Collection<String> keys() { + return json.keySet(); + } + /** * updates the storage file with the current json data * @throws IOException if writing the file does so