Skip to content

Commit fe26ca9

Browse files
authored
Merge pull request #118 from avaje/feature/keys
Add configuration.keys() returning the current keys
2 parents 4201562 + d317da9 commit fe26ca9

File tree

4 files changed

+15
-0
lines changed

4 files changed

+15
-0
lines changed

avaje-config/src/main/java/io/avaje/config/Configuration.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -491,6 +491,11 @@ default boolean enabled(String key, boolean enabledDefault) {
491491
*/
492492
void reloadSources();
493493

494+
/**
495+
* Return the property keys in this configuration.
496+
*/
497+
Set<String> keys();
498+
494499
/**
495500
* Return the number of configuration properties.
496501
*/

avaje-config/src/main/java/io/avaje/config/CoreConfiguration.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,11 @@ public Configuration forPath(String pathPrefix) {
204204
return new CoreConfiguration(this, newEntryMap, dotPrefix);
205205
}
206206

207+
@Override
208+
public Set<String> keys() {
209+
return properties.entries.keys();
210+
}
211+
207212
@Override
208213
public ListValue list() {
209214
return listValue;

avaje-config/src/main/java/io/avaje/config/CoreEntry.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,10 @@ private boolean putIfChanged(String key, String value, String source) {
162162
return false;
163163
}
164164

165+
Set<String> keys() {
166+
return entryMap.keySet();
167+
}
168+
165169
boolean containsKey(String key) {
166170
return entryMap.containsKey(key);
167171
}

avaje-config/src/test/java/io/avaje/config/CoreConfigurationTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ void forPath() {
8080
CoreConfiguration base = createSample();
8181
Configuration foo = base.forPath("foo");
8282

83+
assertThat(foo.keys()).contains("bar", "t", "f");
8384
assertThat(foo.size()).isEqualTo(3);
8485
assertThat(foo.getInt("bar")).isEqualTo(42);
8586
assertThat(foo.getBool("t")).isTrue();

0 commit comments

Comments
 (0)