diff --git a/acme4j-client/src/main/java/org/shredzone/acme4j/util/ClaimBuilder.java b/acme4j-client/src/main/java/org/shredzone/acme4j/util/ClaimBuilder.java index 3d70d71e..27f346fd 100644 --- a/acme4j-client/src/main/java/org/shredzone/acme4j/util/ClaimBuilder.java +++ b/acme4j-client/src/main/java/org/shredzone/acme4j/util/ClaimBuilder.java @@ -15,6 +15,7 @@ package org.shredzone.acme4j.util; import java.security.Key; import java.security.PublicKey; +import java.util.Collections; import java.util.Map; import java.util.TreeMap; @@ -157,6 +158,13 @@ public class ClaimBuilder { return this; } + /** + * Returns a {@link Map} representation of the claims. + */ + public Map toMap() { + return Collections.unmodifiableMap(data); + } + /** * Returns a JSON representation of the claims. */ diff --git a/acme4j-client/src/test/java/org/shredzone/acme4j/util/ClaimBuilderTest.java b/acme4j-client/src/test/java/org/shredzone/acme4j/util/ClaimBuilderTest.java index 0b992848..b6c8c725 100644 --- a/acme4j-client/src/test/java/org/shredzone/acme4j/util/ClaimBuilderTest.java +++ b/acme4j-client/src/test/java/org/shredzone/acme4j/util/ClaimBuilderTest.java @@ -62,6 +62,13 @@ public class ClaimBuilderTest { assertThat(res, is(sameInstance(cb))); assertThat(cb.toString(), is("{\"fooInt\":456,\"fooStr\":\"String\"}")); + + Map map = cb.toMap(); + assertThat(map.keySet(), hasSize(2)); + assertThat(map, allOf( + hasEntry("fooInt", (Object) 456), + hasEntry("fooStr", (Object) "String") + )); } /**