diff options
author | Thomas <> | 2021-05-23 10:45:37 +0200 |
---|---|---|
committer | Thomas <> | 2021-05-23 10:45:37 +0200 |
commit | 8e4059c2b1f69b2361738548dab07194dc1f5dcf (patch) | |
tree | 79428da4a8ae9b0430850abbaf7bef586e7712f9 /eaaf_core_api/src/main/java | |
parent | 4a6af28e8ddbd3fdf4a0e678ce740d33b1f09652 (diff) | |
download | EAAF-Components-8e4059c2b1f69b2361738548dab07194dc1f5dcf.tar.gz EAAF-Components-8e4059c2b1f69b2361738548dab07194dc1f5dcf.tar.bz2 EAAF-Components-8e4059c2b1f69b2361738548dab07194dc1f5dcf.zip |
update attribute builder for MandateProfiles and add attribute builder for mandate mode to support eIDAS Proxy-Service with mandates
Diffstat (limited to 'eaaf_core_api/src/main/java')
-rw-r--r-- | eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ExtendedPvpAttributeDefinitions.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ExtendedPvpAttributeDefinitions.java b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ExtendedPvpAttributeDefinitions.java index 04cf07bb..5d7fcc07 100644 --- a/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ExtendedPvpAttributeDefinitions.java +++ b/eaaf_core_api/src/main/java/at/gv/egiz/eaaf/core/api/data/ExtendedPvpAttributeDefinitions.java @@ -19,6 +19,9 @@ package at.gv.egiz.eaaf.core.api.data; +import java.util.NoSuchElementException; +import java.util.stream.Stream; + public interface ExtendedPvpAttributeDefinitions extends PvpAttributeDefinitions { String EIDAS_CONNECTOR_UNIQUEID_NAME = "urn:eidgvat:attributes.eidas.uniqueId"; @@ -36,6 +39,55 @@ public interface ExtendedPvpAttributeDefinitions extends PvpAttributeDefinitions String SP_USED_MANDATE_PROFILES_NAME = "urn:eidgvat:attributes.ServiceProviderMandateProfiles"; String SP_USED_MANDATE_PROFILES_FRIENDLY_NAME = "ServiceProvider-MandateProfiles"; + String SP_USED_MANDATE_TYPE_NAME = "urn:eidgvat:attributes.ServiceProviderMandateType"; + String SP_USED_MANDATE_TYPE_FRIENDLY_NAME = "ServiceProvider-MandateType"; + + enum SpMandateModes { + NONE("none"), + NATURAL("natural"), + NATURAL_FORCE("forceNatural"), + LEGAL("legal"), + LEGAL_FORCE("forceLegal"), + BOTH("all"), + BOTH_FORCE("forceAll"); + + private final String mandateMode; + + SpMandateModes(final String mandateMode) { + this.mandateMode = mandateMode; + } + + /** + * Get Service-Provider mandate-mode from String representation. + * + * @param s mandate-mode String parameter + * @return mandate mode, or {@link NoSuchElementException} if mode is unknown + */ + public static SpMandateModes fromString(final String mode) { + return Stream.of(SpMandateModes.values()) + .filter(el -> el.getMode().equals(mode)) + .findFirst() + .get(); + + } + + /** + * Get the URI based status identifier of an E-ID. + * + * @return Current mandate mode + */ + public String getMode() { + return this.mandateMode; + } + + @Override + public String toString() { + return getMode(); + + } + + } + String EID_BINDING_PUBLIC_KEY_NAME = "urn:eidgvat:attributes.binding.pubkey"; String EID_BINDING_PUBLIC_KEY_FRIENDLY_NAME = "Binding-PublicKey"; |