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 RDW 27/Aug/2010 29 * 30 * Reflects the DiscoHints 31 */ 32 public interface DiscoHints extends SAMLObject { 33 /** Namespace for Discovery Service metadata extensions. */ 34 public static final String MDUI_NS = "urn:oasis:names:tc:SAML:metadata:ui"; 35 36 /** Default namespace prefix used by this library. */ 37 public static final String MDUI_PREFIX = "mdui"; 38 39 /** Name of the element inside the Extensions. */ 40 public static final String DEFAULT_ELEMENT_LOCAL_NAME = "DiscoHints"; 41 42 /** Default element name. */ 43 public static final QName DEFAULT_ELEMENT_NAME = new QName(MDUI_NS, DEFAULT_ELEMENT_LOCAL_NAME, 44 MDUI_PREFIX); 45 46 /** 47 * The <IPHint> element specifies a set of [CIDR] blocks associated with, 48 * or serviced by, the entity. Both IPv4 and IPv6 CIDR blocks MUST be supported. 49 * 50 * @return hints 51 */ 52 public List <IPHint> getIPHints(); 53 54 /** The <DomainHint> element specifies a set of DNS domains associated with, 55 * or serviced by, the entity. 56 * @return hints. 57 */ 58 public List <DomainHint> getDomainHints(); 59 60 /** The <GeolocationHint> element specifies the geographic coordinates associated 61 * with, or serviced by, the entity. Coordinates are given in decimal form using 62 * the World Geodetic System (2d) coordinate system. 63 * 64 * @return hints 65 */ 66 public List <GeolocationHint> getGeolocationHints(); 67 68 }