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.saml2.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 * SAML 2.0 Core Conditions. 29 */ 30 public interface Conditions extends SAMLObject { 31 32 /** Element local name. */ 33 public static final String DEFAULT_ELEMENT_LOCAL_NAME = "Conditions"; 34 35 /** Default element name. */ 36 public static final QName DEFAULT_ELEMENT_NAME = new QName(SAMLConstants.SAML20_NS, DEFAULT_ELEMENT_LOCAL_NAME, 37 SAMLConstants.SAML20_PREFIX); 38 39 /** Local name of the XSI type. */ 40 public static final String TYPE_LOCAL_NAME = "ConditionsType"; 41 42 /** QName of the XSI type. */ 43 public static final QName TYPE_NAME = new QName(SAMLConstants.SAML20_NS, TYPE_LOCAL_NAME, 44 SAMLConstants.SAML20_PREFIX); 45 46 /** NotBefore attribute name. */ 47 public static final String NOT_BEFORE_ATTRIB_NAME = "NotBefore"; 48 49 /** NotOnOrAfter attribute name. */ 50 public static final String NOT_ON_OR_AFTER_ATTRIB_NAME = "NotOnOrAfter"; 51 52 /** 53 * Get the date/time before which the assertion is invalid. 54 * 55 * @return the date/time before which the assertion is invalid 56 */ 57 public DateTime getNotBefore(); 58 59 /** 60 * Sets the date/time before which the assertion is invalid. 61 * 62 * @param newNotBefore the date/time before which the assertion is invalid 63 */ 64 public void setNotBefore(DateTime newNotBefore); 65 66 /** 67 * Gets the date/time on, or after, which the assertion is invalid. 68 * 69 * @return the date/time on, or after, which the assertion is invalid 70 */ 71 public DateTime getNotOnOrAfter(); 72 73 /** 74 * Sets the date/time on, or after, which the assertion is invalid. 75 * 76 * @param newNotOnOrAfter the date/time on, or after, which the assertion is invalid 77 */ 78 public void setNotOnOrAfter(DateTime newNotOnOrAfter); 79 80 /** 81 * Gets all the conditions on the assertion. 82 * 83 * @return all the conditions on the assertion 84 */ 85 public List<Condition> getConditions(); 86 87 /** 88 * Gets the audience restriction conditions for the assertion. 89 * 90 * @return the audience restriction conditions for the assertion 91 */ 92 public List<AudienceRestriction> getAudienceRestrictions(); 93 94 /** 95 * Gets the OneTimeUse condition for the assertion. 96 * 97 * @return the OneTimeUse condition for the assertion 98 */ 99 public OneTimeUse getOneTimeUse(); 100 101 /** 102 * Gets the ProxyRestriction condition for the assertion. 103 * 104 * @return the ProxyRestriction condition for the assertion 105 */ 106 public ProxyRestriction getProxyRestriction(); 107 }