aboutsummaryrefslogtreecommitdiff
path: root/id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/api/attributes/natural/IdType.java
diff options
context:
space:
mode:
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.java49
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;
+ }
+}