diff options
Diffstat (limited to 'id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/impl/attributes/natural/IdTypeAttributeValueMarshaller.java')
-rw-r--r-- | id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/impl/attributes/natural/IdTypeAttributeValueMarshaller.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/impl/attributes/natural/IdTypeAttributeValueMarshaller.java b/id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/impl/attributes/natural/IdTypeAttributeValueMarshaller.java new file mode 100644 index 000000000..d5f325632 --- /dev/null +++ b/id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/impl/attributes/natural/IdTypeAttributeValueMarshaller.java @@ -0,0 +1,26 @@ +package at.gv.egiz.eid4u.impl.attributes.natural; + +import at.gv.egiz.eid4u.api.attributes.natural.IdType; +import eu.eidas.auth.commons.attribute.AttributeValue; +import eu.eidas.auth.commons.attribute.AttributeValueMarshaller; +import eu.eidas.auth.commons.attribute.AttributeValueMarshallingException; + +public final class IdTypeAttributeValueMarshaller implements AttributeValueMarshaller<IdType> { + + @Override + public String marshal(AttributeValue<IdType> value) throws AttributeValueMarshallingException { + return value.getValue().getValue(); + + } + + @Override + public AttributeValue<IdType> unmarshal(String value, boolean isNonLatinScriptAlternateVersion) + throws AttributeValueMarshallingException { + IdType idType = IdType.fromString(value); + if (null == idType) { + throw new AttributeValueMarshallingException("Illegal IdType value \"" + value + "\""); + } + return new IdTypeAttributeValue(idType); + } + +} |