From 0152a1eef93ea1b5253ddae78718a9805c98aaf7 Mon Sep 17 00:00:00 2001 From: Todd Baert Date: Fri, 9 Sep 2022 10:44:12 -0400 Subject: [PATCH] feat: add object to value wrapper Signed-off-by: Todd Baert --- src/main/java/dev/openfeature/javasdk/Value.java | 13 +++++++++++++ .../java/dev/openfeature/javasdk/ValueTest.java | 6 ++++++ 2 files changed, 19 insertions(+) diff --git a/src/main/java/dev/openfeature/javasdk/Value.java b/src/main/java/dev/openfeature/javasdk/Value.java index 426d4a1f..a01ee10a 100644 --- a/src/main/java/dev/openfeature/javasdk/Value.java +++ b/src/main/java/dev/openfeature/javasdk/Value.java @@ -22,6 +22,10 @@ public Value() { this.innerObject = null; } + public Value(Object value) { + this.innerObject = value; + } + public Value(Value value) { this.innerObject = value.innerObject; } @@ -131,6 +135,15 @@ public Boolean asBoolean() { return null; } + /** + * Retrieve the underlying object. + * + * @return Object + */ + public Object asObject() { + return this.innerObject; + } + /** * Retrieve the underlying String value, or null. * diff --git a/src/test/java/dev/openfeature/javasdk/ValueTest.java b/src/test/java/dev/openfeature/javasdk/ValueTest.java index c86feb93..401c6769 100644 --- a/src/test/java/dev/openfeature/javasdk/ValueTest.java +++ b/src/test/java/dev/openfeature/javasdk/ValueTest.java @@ -15,6 +15,12 @@ public class ValueTest { assertTrue(value.isNull()); } + @Test public void objectArgShouldContainObject() { + Object innerValue = new Object(); + Value value = new Value(innerValue); + assertEquals(innerValue, value.asObject()); + } + @Test public void boolArgShouldContainBool() { boolean innerValue = true; Value value = new Value(innerValue);