diff options
Diffstat (limited to 'id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/api/attributes/natural/MaritalState.java')
-rw-r--r-- | id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/api/attributes/natural/MaritalState.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/api/attributes/natural/MaritalState.java b/id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/api/attributes/natural/MaritalState.java new file mode 100644 index 000000000..af27965b2 --- /dev/null +++ b/id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/api/attributes/natural/MaritalState.java @@ -0,0 +1,52 @@ +package at.gv.egiz.eid4u.api.attributes.natural; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; + +import eu.eidas.auth.commons.lang.Canonicalizers; +import eu.eidas.auth.commons.lang.EnumMapper; +import eu.eidas.auth.commons.lang.KeyAccessor; + +public enum MaritalState { + SINGLE("Single"), + MARRIED("Married"), + DIVORCED("Divorced"), + WIDOWED("Widowed"), + CIVILUNION("Civil Union"); + + private static final EnumMapper<String, MaritalState> MAPPER = + new EnumMapper<String, MaritalState>(new KeyAccessor<String, MaritalState>() { + + @Nonnull + @Override + public String getKey(@Nonnull MaritalState mstate) { + return mstate.getValue(); + } + }, Canonicalizers.trimLowerCase(), values()); + + @Nullable + public static MaritalState fromString(@Nonnull String val) { + return MAPPER.fromKey(val); + } + + public static EnumMapper<String, MaritalState> mapper() { + return MAPPER; + } + + @Nonnull + private final transient String value; + + MaritalState(@Nonnull String value) { + this.value = value; + } + + @Nonnull + public String getValue() { + return value; + } + + @Override + public String toString() { + return value; + } +} |