Skip to content

Commit

Permalink
chore: expose get value for metadata (#468)
Browse files Browse the repository at this point in the history
expose get value for metadata

Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
Co-authored-by: Justin Abrahms <jabrahms@ebay.com>
  • Loading branch information
Kavindu-Dodan and justinabrahms authored Jun 9, 2023
1 parent 3946211 commit 93dde1d
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 2 deletions.
5 changes: 4 additions & 1 deletion src/main/java/dev/openfeature/sdk/FlagMetadata.java
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,10 @@ public Boolean getBoolean(final String key) {
return getValue(key, Boolean.class);
}

private <T> T getValue(final String key, final Class<T> type) {
/**
* Generic value retrieval for the given key.
*/
public <T> T getValue(final String key, final Class<T> type) {
final Object o = metadata.get(key);

if (o == null) {
Expand Down
13 changes: 12 additions & 1 deletion src/test/java/dev/openfeature/sdk/FlagMetadataTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,22 @@ public void builder_validation() {

// then
assertThat(flagMetadata.getString("string")).isEqualTo("string");
assertThat(flagMetadata.getValue("string", String.class)).isEqualTo("string");

assertThat(flagMetadata.getInteger("integer")).isEqualTo(1);
assertThat(flagMetadata.getValue("integer", Integer.class)).isEqualTo(1);

assertThat(flagMetadata.getLong("long")).isEqualTo(1L);
assertThat(flagMetadata.getValue("long", Long.class)).isEqualTo(1L);

assertThat(flagMetadata.getFloat("float")).isEqualTo(1.5f);
assertThat(flagMetadata.getValue("float", Float.class)).isEqualTo(1.5f);

assertThat(flagMetadata.getDouble("double")).isEqualTo(Double.MAX_VALUE);
assertThat(flagMetadata.getValue("double", Double.class)).isEqualTo(Double.MAX_VALUE);

assertThat(flagMetadata.getBoolean("boolean")).isEqualTo(Boolean.FALSE);
assertThat(flagMetadata.getValue("boolean", Boolean.class)).isEqualTo(Boolean.FALSE);
}

@Test
Expand All @@ -38,7 +49,7 @@ public void value_type_validation() {
.build();

// then
assertThat(flagMetadata.getBoolean("string")).isNull();
assertThat(flagMetadata.getBoolean("string")).isNull();
}

@Test
Expand Down

0 comments on commit 93dde1d

Please sign in to comment.