View Javadoc

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 }