diff options
author | Thomas Lenz <tlenz@iaik.tugraz.at> | 2018-09-28 14:19:50 +0200 |
---|---|---|
committer | Thomas Lenz <tlenz@iaik.tugraz.at> | 2018-09-28 14:19:50 +0200 |
commit | b76b6e6212784d622ca79bd258fa3e529b353346 (patch) | |
tree | fc1a83b6775e043aaabaa88648fc20063e938948 /id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/impl/attributes/AbstractStringAttributeMarshaller.java | |
parent | 5a147ba2714436e5fb15ddcf3db8df6273ac4d57 (diff) | |
download | moa-id-spss-b76b6e6212784d622ca79bd258fa3e529b353346.tar.gz moa-id-spss-b76b6e6212784d622ca79bd258fa3e529b353346.tar.bz2 moa-id-spss-b76b6e6212784d622ca79bd258fa3e529b353346.zip |
add first code for eID4U
Diffstat (limited to 'id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/impl/attributes/AbstractStringAttributeMarshaller.java')
-rw-r--r-- | id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/impl/attributes/AbstractStringAttributeMarshaller.java | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/impl/attributes/AbstractStringAttributeMarshaller.java b/id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/impl/attributes/AbstractStringAttributeMarshaller.java new file mode 100644 index 000000000..c5a019aa2 --- /dev/null +++ b/id/server/modules/eID4UExtensions/src/main/java/at/gv/egiz/eid4u/impl/attributes/AbstractStringAttributeMarshaller.java @@ -0,0 +1,49 @@ +package at.gv.egiz.eid4u.impl.attributes; + +import eu.eidas.auth.commons.attribute.AttributeValue; +import eu.eidas.auth.commons.attribute.AttributeValueMarshaller; +import eu.eidas.auth.commons.attribute.AttributeValueMarshallingException; +import eu.eidas.auth.commons.attribute.impl.StringAttributeValue; + +public abstract class AbstractStringAttributeMarshaller implements AttributeValueMarshaller<String> { + + @Override + public String marshal(AttributeValue<String> value) throws AttributeValueMarshallingException { + String result = value.getValue(); + + //to validation + if (!hasValidForm(result)) + throw new AttributeValueMarshallingException( + "Illegal " + getName() + " value \"" + result + "\""); + + return result; + } + + @Override + public AttributeValue<String> unmarshal(String value, boolean isNonLatinScriptAlternateVersion) + throws AttributeValueMarshallingException { + + //to validation + if (!hasValidForm(value)) + throw new AttributeValueMarshallingException( + "Illegal " + getName() + " value \"" + value + "\""); + + return new StringAttributeValue(value); + } + + /** + * Validate a String attribute if required + * + * @param value String based attribute value + * @return true if valid, otherwise false + */ + abstract protected boolean hasValidForm(String value); + + /** + * Get the name of the attribute mashaller + * + * @return + */ + abstract protected String getName(); + +} |