1 /* 2 * Copyright [2005] [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 org.opensaml.saml1.core; 18 19 import java.util.List; 20 21 import javax.xml.namespace.QName; 22 23 import org.joda.time.DateTime; 24 import org.opensaml.common.SAMLObject; 25 import org.opensaml.common.xml.SAMLConstants; 26 27 /** 28 * This interface defines how the object representing a SAML1 <code> Conditions</code> element behaves. 29 */ 30 public interface Conditions extends SAMLObject { 31 32 /** Element name, no namespace. */ 33 public final static String DEFAULT_ELEMENT_LOCAL_NAME = "Conditions"; 34 35 /** Default element name */ 36 public final static QName DEFAULT_ELEMENT_NAME = new QName(SAMLConstants.SAML1_NS, DEFAULT_ELEMENT_LOCAL_NAME, SAMLConstants.SAML1_PREFIX); 37 38 /** Local name of the XSI type */ 39 public final static String TYPE_LOCAL_NAME = "ConditionsType"; 40 41 /** QName of the XSI type */ 42 public final static QName TYPE_NAME = new QName(SAMLConstants.SAML1_NS, TYPE_LOCAL_NAME, SAMLConstants.SAML1_PREFIX); 43 44 /** Name for the NotBefore attribute. */ 45 public final static String NOTBEFORE_ATTRIB_NAME = "NotBefore"; 46 47 /** Name for the NotBefore attribute. */ 48 public final static String NOTONORAFTER_ATTRIB_NAME = "NotOnOrAfter"; 49 50 /** Return the value of the NotBefore attribute. */ 51 public DateTime getNotBefore(); 52 53 /** List the value of the NotBefore attribute. */ 54 public void setNotBefore(DateTime notBefore); 55 56 /** Return the value of the NotOnOrAfter attribute. */ 57 public DateTime getNotOnOrAfter(); 58 59 /** List the value of the NotOnOrAfter attribute. */ 60 public void setNotOnOrAfter(DateTime notOnOrAfter); 61 62 /** 63 * Return the List representing all the <code> Condition </code> sub elements. 64 */ 65 public List<Condition> getConditions(); 66 67 /** 68 * Return the List representing all the <code>Condition</code>s with the given schema type or element name. 69 * 70 * @param typeOrName the schema type or element name 71 */ 72 public List<Condition> getConditions(QName typeOrName); 73 74 /** 75 * Return the List representing all the <code> AudienceRestrictionCondition </code> sub elements. 76 */ 77 public List<AudienceRestrictionCondition> getAudienceRestrictionConditions(); 78 79 /** 80 * Return the List representing all the <code> DoNotCacheCondition </code> sub elements. 81 */ 82 public List<DoNotCacheCondition> getDoNotCacheConditions(); 83 }