All Downloads are FREE. Search and download functionalities are using the official Maven repository.

se.swedenconnect.opensaml.eidas.metadata.Endpoint Maven / Gradle / Ivy

The newest version!
/*
 * Copyright 2016-2024 Sweden Connect
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package se.swedenconnect.opensaml.eidas.metadata;

import org.opensaml.core.xml.AttributeExtensibleXMLObject;
import org.opensaml.saml.common.SAMLObject;
import se.swedenconnect.opensaml.eidas.common.EidasConstants;

import javax.xml.namespace.QName;

/**
 * Definition of the {@code MsEndpointType} type.
 * 

* The following schema fragment defines the MsEndpointType complex type: *

*
 * {@code
 * 
 *   
 *     
 *       Defines a member state "endpoint" (eIDAS node).
 *     
 *   
 *   
 *     
 *       
 *         The type of endpoint. Currently defined URI:s are:
 *         http://eidas.europa.eu/metadata/ept/ProxyService for an eIDAS Proxy Service, and,
 *         http://eidas.europa.eu/metadata/ept/Connector for an eIDAS Connector.
 *       
 *     
 *   
 *   
 *     
 *       
 *         The SAML entityID of the endpoint. For an eIDAS connector this is the entityID for
 *         the SP-part of the node, and for an eIDAS Proxy Service this is the entityID for the
 *         IdP-part of the node.
 *       
 *     
 *   
 *   
 * }
 * 
* * @author Martin Lindström */ public interface Endpoint extends SAMLObject, AttributeExtensibleXMLObject { /** Name of the element. */ String DEFAULT_ELEMENT_LOCAL_NAME = "Endpoint"; /** Default element name. */ QName DEFAULT_ELEMENT_NAME = new QName(EidasConstants.EIDAS_SERVICELIST_NS, DEFAULT_ELEMENT_LOCAL_NAME, EidasConstants.EIDAS_SERVICELIST_PREFIX); /** Local name of the XSI type. */ String TYPE_LOCAL_NAME = "MsEndpointType"; /** QName of the XSI type. */ QName TYPE_NAME = new QName(EidasConstants.EIDAS_SERVICELIST_NS, TYPE_LOCAL_NAME, EidasConstants.EIDAS_SERVICELIST_PREFIX); /** Attribute label for the Location attribute. */ String ENDPOINT_TYPE_ATTR_NAME = "EndpointType"; /** Attribute label for the Location attribute. */ String ENTITY_ID_ATTR_NAME = "EntityID"; /** Identifier for a proxy service endpoint type. */ String PROXY_SERVICE_ENDPOINT_TYPE = "http://eidas.europa.eu/metadata/ept/ProxyService"; /** Identifier for a connector endpoint type. */ String CONNECTOR_ENDPOINT_TYPE = "http://eidas.europa.eu/metadata/ept/Connector"; /** * Returns the endpoint type URI. * * @return the endpoint type */ String getEndpointType(); /** * Assigns the endpoint type URI. * * @param endpointType the endpoint type */ void setEndpointType(final String endpointType); /** * Returns the entityID for the endpoint. * * @return the entityID */ String getEntityID(); /** * Assigns the entityID for the endpoint. * * @param entityID the entityID */ void setEntityID(final String entityID); /** * For the Swedish eIDAS configuration, the {@code Suspend} attribute is used to indicate whether an endpoint has been * suspended. This method is just a shortcut instead of using {@link #getUnknownAttributes()}. * * @return if the {@code Suspend} attribute has been set to {@code true} this method returns {@code true}, otherwise * {@code false}  */ boolean getSuspend(); /** * Assigns the {@code Suspend} attribute. See {@link #getSuspend()}. * * @param suspendFlag the suspend flag */ void setSuspend(final boolean suspendFlag); /** * For the Swedish eIDAS configuration, the {@code HideFromDiscovery} attribute is used to indicate whether the proxy * service within an endpoint should be hidden from the connector "select country view". This method is just a * shortcut instead of using {@link #getUnknownAttributes()}. * * @return if the {@code HideFromDiscovery} attribute has been set to {@code true} this method returns {@code true}, * otherwise {@code false} */ boolean getHideFromDiscovery(); /** * Assigns the {@code HideFromDiscovery} attribute. See {@link #getHideFromDiscovery()}. * * @param hideFlag the "HideFromDiscovery" flag */ void setHideFromDiscovery(final boolean hideFlag); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy