1 /* 2 * Copyright 2010 University Corporation for Advanced Internet Development, Inc. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package edu.internet2.middleware.shibboleth.wayf.idpdisco; 18 19 import java.util.List; 20 21 import javax.xml.namespace.QName; 22 23 import org.opensaml.common.SAMLObject; 24 25 /** 26 * See IdP Discovery and Login UI Metadata Extension Profile. 27 * 28 * @author Rod Widdowson August 2010 29 * 30 * Reflects the UINFO in the IdP Discovery and Login UI Metadata Extension Profile, 31 * 32 */ 33 public interface UIInfo extends SAMLObject { 34 /** Namespace for Discovery Service metadata extensions. */ 35 public static final String MDUI_NS = "urn:oasis:names:tc:SAML:metadata:ui"; 36 37 /** Default namespace prefix used by this library. */ 38 public static final String MDUI_PREFIX = "mdui"; 39 40 /** Name of the element inside the Extensions. */ 41 public static final String DEFAULT_ELEMENT_LOCAL_NAME = "UIInfo"; 42 43 /** Default element name. */ 44 public static final QName DEFAULT_ELEMENT_NAME = new QName(MDUI_NS, DEFAULT_ELEMENT_LOCAL_NAME, 45 MDUI_PREFIX); 46 47 /** Language attribute name. */ 48 public static final String LANG_ATTRIB_NAME = "lang"; 49 50 /** 51 * Get the Display Names 52 * 53 * The <DisplayName> element specifies a set of localized names fit for 54 * display to users. Such names are meant to allow a user to distinguish 55 * and identify the entity acting in a particular role. 56 * @return the names 57 */ 58 public List <DisplayName> getDisplayNames(); 59 60 /** 61 * Return the descriptions. 62 * 63 * The <Description> element specifies a set of brief, localized descriptions 64 * fit for display to users. In the case of service providers this SHOULD be a 65 * description of the service being offered. In the case of an identity provider 66 * this SHOULD be a description of the community serviced. In all cases this text 67 * SHOULD be standalone, meaning it is not meant to be filled in to some template 68 * text (e.g. 'This service offers $description'). 69 * @return descriptions 70 */ 71 public List <Description> getDescriptions(); 72 73 /** 74 * Get the logos. 75 * 76 * The <Logo> element specifies a set of localized logos fit for display to users. 77 * 78 * @return a list of logos 79 */ 80 public List <Logo> getLogos(); 81 82 /** 83 * Get the URLs. 84 * 85 * The <InformationURL> specifies URLs to localized information, about the entity 86 * acting in a given role, meant to be viewed by users. The contents found at 87 * these URLs SHOULD give a more complete set of information about than what is 88 * provided by the <Description> element 89 * 90 * @return the URLs 91 */ 92 public List <InformationURL> getInformationURLs(); 93 94 /** 95 * Get the Privacy Statement URLs. 96 * 97 * The <PrivacyStatementURL> specifies URLs to localized privacy statements. 98 * Such statements are meant to provide a user with information about how 99 * information will be used and managed by the entity 100 * 101 * @return the URLs 102 */ 103 public List <PrivacyStatementURL> getPrivacyStatementURLs(); 104 105 }