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 | |
| 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')
| -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"; | 
