diff options
Diffstat (limited to 'id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/api/attributes/natural/IdType.java')
-rw-r--r-- | id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/api/attributes/natural/IdType.java | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/api/attributes/natural/IdType.java b/id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/api/attributes/natural/IdType.java new file mode 100644 index 000000000..0937826a3 --- /dev/null +++ b/id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/api/attributes/natural/IdType.java @@ -0,0 +1,49 @@ +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 IdType { + PASSPORT("Passport"), + NATIONALIDCARD("National Identity Card"); + + private static final EnumMapper<String, IdType> MAPPER = + new EnumMapper<String, IdType>(new KeyAccessor<String, IdType>() { + + @Nonnull + @Override + public String getKey(@Nonnull IdType gender) { + return gender.getValue(); + } + }, Canonicalizers.trimLowerCase(), values()); + + @Nullable + public static IdType fromString(@Nonnull String val) { + return MAPPER.fromKey(val); + } + + public static EnumMapper<String, IdType> mapper() { + return MAPPER; + } + + @Nonnull + private final transient String value; + + IdType(@Nonnull String value) { + this.value = value; + } + + @Nonnull + public String getValue() { + return value; + } + + @Override + public String toString() { + return value; + } +} |