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 /** 18 * 19 */ 20 21 package org.opensaml.saml2.core; 22 23 import javax.xml.namespace.QName; 24 25 import org.joda.time.DateTime; 26 import org.opensaml.common.SAMLVersion; 27 import org.opensaml.common.SignableSAMLObject; 28 import org.opensaml.common.xml.SAMLConstants; 29 import org.opensaml.saml2.common.Extensions; 30 31 /** 32 * SAML 2.0 Core StatusResponseType. 33 */ 34 public interface StatusResponseType extends SignableSAMLObject { 35 36 /** Local name of the XSI type. */ 37 public static final String TYPE_LOCAL_NAME = "StatusResponseType"; 38 39 /** QName of the XSI type. */ 40 public static final QName TYPE_NAME = new QName(SAMLConstants.SAML20P_NS, TYPE_LOCAL_NAME, 41 SAMLConstants.SAML20P_PREFIX); 42 43 /** ID attribute name. */ 44 public static final String ID_ATTRIB_NAME = "ID"; 45 46 /** InResponseTo attribute name. */ 47 public static final String IN_RESPONSE_TO_ATTRIB_NAME = "InResponseTo"; 48 49 /** Version attribute name. */ 50 public static final String VERSION_ATTRIB_NAME = "Version"; 51 52 /** IssueInstant attribute name. */ 53 public static final String ISSUE_INSTANT_ATTRIB_NAME = "IssueInstant"; 54 55 /** Destination attribute name. */ 56 public static final String DESTINATION_ATTRIB_NAME = "Destination"; 57 58 /** Consent attribute name. */ 59 public static final String CONSENT_ATTRIB_NAME = "Consent"; 60 61 /** Unspecified consent URI. */ 62 public static final String UNSPECIFIED_CONSENT = "urn:oasis:names:tc:SAML:2.0:consent:unspecified"; 63 64 /** Obtained consent URI. */ 65 public static final String OBTAINED_CONSENT = "urn:oasis:names:tc:SAML:2.0:consent:obtained"; 66 67 /** Prior consent URI. */ 68 public static final String PRIOR_CONSENT = "urn:oasis:names:tc:SAML:2.0:consent:prior"; 69 70 /** Implicit consent URI. */ 71 public static final String IMPLICIT_CONSENT = "urn:oasis:names:tc:SAML:2.0:consent:implicit"; 72 73 /** Explicit consent URI. */ 74 public static final String EXPLICIT_CONSENT = "urn:oasis:names:tc:SAML:2.0:consent:explicit"; 75 76 /** Unavailable consent URI. */ 77 public static final String UNAVAILABLE_CONSENT = "urn:oasis:names:tc:SAML:2.0:consent:unavailable"; 78 79 /** Inapplicable consent URI. */ 80 public static final String INAPPLICABLE_CONSENT = "urn:oasis:names:tc:SAML:2.0:consent:inapplicable"; 81 82 /** 83 * Gets the SAML Version of this response. 84 * 85 * @return the SAML Version of this response. 86 */ 87 public SAMLVersion getVersion(); 88 89 /** 90 * Sets the SAML Version of this response. 91 * 92 * @param newVersion the SAML Version of this response 93 */ 94 public void setVersion(SAMLVersion newVersion); 95 96 /** 97 * Gets the unique identifier of the response. 98 * 99 * @return the unique identifier of the response 100 */ 101 public String getID(); 102 103 /** 104 * Sets the unique identifier of the response. 105 * 106 * @param newID the unique identifier of the response 107 */ 108 109 public void setID(String newID); 110 111 /** 112 * Gets the unique request identifier for which this is a response 113 * 114 * @return the unique identifier of the originating request 115 */ 116 public String getInResponseTo(); 117 118 /** 119 * Sets the unique request identifier for which this is a response 120 * 121 * @param newInResponseTo the unique identifier of the originating request 122 */ 123 124 public void setInResponseTo(String newInResponseTo); 125 126 /** 127 * Gets the date/time the response was issued. 128 * 129 * @return the date/time the response was issued 130 */ 131 public DateTime getIssueInstant(); 132 133 /** 134 * Sets the date/time the response was issued. 135 * 136 * param newIssueInstant the date/time the response was issued 137 */ 138 public void setIssueInstant(DateTime newIssueInstant); 139 140 /** 141 * Gets the URI of the destination of the response. 142 * 143 * @return the URI of the destination of the response 144 */ 145 public String getDestination(); 146 147 /** 148 * Sets the URI of the destination of the response. 149 * 150 * @param newDestination the URI of the destination of the response 151 */ 152 public void setDestination(String newDestination); 153 154 /** 155 * Gets the consent obtained from the principal for sending this response. 156 * 157 * @return the consent obtained from the principal for sending this response 158 */ 159 public String getConsent(); 160 161 /** 162 * Sets the consent obtained from the principal for sending this response. 163 * 164 * @param newConsent the consent obtained from the principal for sending this response 165 */ 166 public void setConsent(String newConsent); 167 168 /** 169 * Gets the issuer of this response. 170 * 171 * @return the issuer of this response 172 */ 173 public Issuer getIssuer(); 174 175 /** 176 * Sets the issuer of this response. 177 * 178 * @param newIssuer the issuer of this response 179 */ 180 public void setIssuer(Issuer newIssuer); 181 182 /** 183 * Gets the Status of this response. 184 * 185 * @return the Status of this response 186 */ 187 public Status getStatus(); 188 189 /** 190 * Sets the Status of this response. 191 * 192 * @param newStatus the Status of this response 193 */ 194 public void setStatus(Status newStatus); 195 196 /** 197 * Gets the Extensions of this response. 198 * 199 * @return the Status of this response 200 */ 201 public Extensions getExtensions(); 202 203 /** 204 * Sets the Extensions of this response. 205 * 206 * @param newExtensions the Extensions of this response 207 */ 208 public void setExtensions(Extensions newExtensions); 209 210 }