chore: expose get value for metadata (#468)

expose get value for metadata

Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
Co-authored-by: Justin Abrahms <jabrahms@ebay.com>
This commit is contained in:
Kavindu Dodanduwa 2023-06-09 07:57:08 -07:00 committed by GitHub
parent 3946211c5d
commit 93dde1d259
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 2 deletions

View File

@ -77,7 +77,10 @@ public class FlagMetadata {
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) {

View File

@ -22,11 +22,22 @@ class FlagMetadataTest {
// 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
@ -38,7 +49,7 @@ class FlagMetadataTest {
.build();
// then
assertThat(flagMetadata.getBoolean("string")).isNull();
assertThat(flagMetadata.getBoolean("string")).isNull();
}
@Test