diff options
author | Bojan Suzic <bojan.suzic@iaik.tugraz.at> | 2014-03-20 12:34:59 +0100 |
---|---|---|
committer | Bojan Suzic <bojan.suzic@iaik.tugraz.at> | 2014-03-20 12:34:59 +0100 |
commit | 72f9629c1c16bc0dacbc9aea45f15bd1af9e7f3f (patch) | |
tree | 92278f301341cddf96ef745ee7c1165841f09717 /id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IAttributeListProcessor.java | |
parent | eab3194053237391030f8c363ca072766e19faf9 (diff) | |
parent | c54fd74a0ac1c03beb6870abf4710daddfd16a33 (diff) | |
download | moa-id-spss-72f9629c1c16bc0dacbc9aea45f15bd1af9e7f3f.tar.gz moa-id-spss-72f9629c1c16bc0dacbc9aea45f15bd1af9e7f3f.tar.bz2 moa-id-spss-72f9629c1c16bc0dacbc9aea45f15bd1af9e7f3f.zip |
Merge branch 'vidp' of gitlab.iaik.tugraz.at:afitzek/moa-idspss into vidp
Diffstat (limited to 'id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IAttributeListProcessor.java')
-rw-r--r-- | id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IAttributeListProcessor.java | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IAttributeListProcessor.java b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IAttributeListProcessor.java new file mode 100644 index 000000000..b13c70f04 --- /dev/null +++ b/id/server/stork2-commons/src/main/java/eu/stork/peps/auth/commons/IAttributeListProcessor.java @@ -0,0 +1,148 @@ +package eu.stork.peps.auth.commons; + +import java.util.List; +import java.util.Map; + +/** + * Interface for {@link AttributeListProcessor}. + * + * @author ricardo.ferreira@multicert.com + * + * @version $Revision: $, $Date: $ + * + * @see IPersonalAttributeList + */ +public interface IAttributeListProcessor { + + /** + * Checks if attribute list only contains allowed attributes. + * + * @param attrList the requested attribute list + * @param attributes the allowed attributes + * + * @return true is all the attributes are allowed. + * + * @see IPersonalAttributeList + */ + boolean hasAllowedAttributes(final IPersonalAttributeList attrList, final List<String> attributes); + + /** + * Lookup for business attribute. + * + * @param attrList the requested attribute list + * @param normalAttributes the normal attributes + * + * @return true is at least one business attribute was requested. + * + * @see IPersonalAttributeList + */ + boolean hasBusinessAttributes(final IPersonalAttributeList attrList, final List<String> normalAttributes); + + /** + * Lookup for business attribute in normal attribute list (loaded by + * implementation). + * + * @param attrList the requested attribute list + * + * @return true is at least one business attribute was requested. + * + * @see IPersonalAttributeList + */ + boolean hasBusinessAttributes(final IPersonalAttributeList attrList); + + /** + * Adds eIdentifier, name, surname, and DateOfBirth attributes to get business + * attributes from some AP. + * + * @param attrList the requested attribute list + * @param attributes the list of attributes to add (eIdentifier, name, + * surname, and DateOfBirth). + * + * @return the requested attribute list and the new attributes added + * (eIdentifier, name, surname, and DateOfBirth). + * + * @see IPersonalAttributeList + */ + IPersonalAttributeList addAPMandatoryAttributes(final IPersonalAttributeList attrList, final List<String> attributes); + + /** + * Adds eIdentifier, name, surname, and DateOfBirth attributes, loaded by + * implementation, to get business attributes from some AP. + * + * @param attrList the requested attribute list + * + * @return the requested attribute list and the new attributes added + * (eIdentifier, name, surname, and DateOfBirth). + * + * @see IPersonalAttributeList + */ + IPersonalAttributeList addAPMandatoryAttributes(final IPersonalAttributeList attrList); + + /** + * Removes from attribute list the given list of attributes. + * + * @param attrList the requested attribute list + * @param attributes the list of attributes to remove. + * + * @return the requested attribute list and the attributes removed. + * + * @see IPersonalAttributeList + */ + IPersonalAttributeList removeAPMandatoryAttributes(final IPersonalAttributeList attrList, final List<String> attributes); + + /** + * Removes from attribute list the given list of attributes and change + * attributes status if attribute was optional in the request. + * + * @param attrList the requested attribute list + * @param attributes the map of attributes (attribute name, mandatory/optional) to remove. + * + * @return the requested attribute list and the attributes removed + * + * @see IPersonalAttributeList + */ + IPersonalAttributeList removeAPMandatoryAttributes(IPersonalAttributeList attrList, Map<String, Boolean> attributes); + + /** + * Checks if mandate attribute exist in the requested Attribute List. Power + * attribute name to lookup is loaded by implementation. + * + * @param attrList the requested attribute list. + * + * @return true if mandate attribute exists or false otherwise. + * + * @see IPersonalAttributeList + */ + boolean hasPowerAttribute(final IPersonalAttributeList attrList); + + /** + * Checks if attribute name was requested and has value. + * + * @param attrList the requested attribute list. + * @param attrName the attribute name to lookup for . + * + * @return true if attribute was requested and has value or false otherwise. + * + * @see IPersonalAttributeList + */ + boolean hasAttributeValue(final IPersonalAttributeList attrList, final String attrName); + + /** + * Checks if attribute has value. + * + * @param attr the attribute to check. + * + * @return true if has value; + * + * @see PersonalAttribute + */ + boolean hasAttributeValue(final PersonalAttribute attr); + + /** + * Gets a map (attribute name, attribute isRequired) of attributes added to attribute list. + * + * @return the Map of attributes added and if is required to attribute list. + */ + Map<String, Boolean> getNormalAttributesAdded(); + +}
\ No newline at end of file |