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 package org.opensaml.saml2.core; 21 22 import java.util.List; 23 24 import javax.xml.namespace.QName; 25 26 import org.joda.time.DateTime; 27 import org.opensaml.common.xml.SAMLConstants; 28 29 /** 30 * SAML 2.0 Core LogoutRequest. 31 */ 32 public interface LogoutRequest extends RequestAbstractType { 33 34 /** Element local name. */ 35 public static final String DEFAULT_ELEMENT_LOCAL_NAME = "LogoutRequest"; 36 37 /** Default element name. */ 38 public static final QName DEFAULT_ELEMENT_NAME = 39 new QName(SAMLConstants.SAML20P_NS, DEFAULT_ELEMENT_LOCAL_NAME, SAMLConstants.SAML20P_PREFIX); 40 41 /** Local name of the XSI type. */ 42 public static final String TYPE_LOCAL_NAME = "LogoutRequestType"; 43 44 /** QName of the XSI type. */ 45 public static final QName TYPE_NAME = 46 new QName(SAMLConstants.SAML20P_NS, TYPE_LOCAL_NAME, SAMLConstants.SAML20P_PREFIX); 47 48 /** Reason attribute name. */ 49 public static final String REASON_ATTRIB_NAME = "Reason"; 50 51 /** NotOnOrAfter attribute name. */ 52 public static final String NOT_ON_OR_AFTER_ATTRIB_NAME = "NotOnOrAfter"; 53 54 /** 55 * Get the Reason attrib value of the request. 56 * 57 * @return the Reason value of the request 58 */ 59 public String getReason(); 60 61 /** 62 * Set the Reason attrib value of the request. 63 * 64 * @param newReason the new Reason value of the request 65 */ 66 public void setReason(String newReason); 67 68 /** 69 * Get the NotOnOrAfter attrib value of the request. 70 * 71 * @return the NotOnOrAfter value of the request 72 */ 73 public DateTime getNotOnOrAfter(); 74 75 /** 76 * Set the NotOnOrAfter attrib value of the request. 77 * 78 * @param newNotOnOrAfter the new NotOnOrAfter value of the request 79 */ 80 public void setNotOnOrAfter(DateTime newNotOnOrAfter); 81 82 /** 83 * Gets the base identifier of the principal for this request. 84 * 85 * @return the base identifier of the principal for this request 86 */ 87 public BaseID getBaseID(); 88 89 /** 90 * Sets the base identifier of the principal for this request. 91 * 92 * @param newBaseID the base identifier of the principal for this request 93 */ 94 public void setBaseID(BaseID newBaseID); 95 96 /** 97 * Gets the name identifier of the principal for this request. 98 * 99 * @return the name identifier of the principal for this request 100 */ 101 public NameID getNameID(); 102 103 /** 104 * Sets the name identifier of the principal for this request. 105 * 106 * @param newNameID the name identifier of the principal for this request 107 */ 108 public void setNameID(NameID newNameID); 109 110 /** 111 * Gets the encrytped name identifier of the principal for this request. 112 * 113 * @return the encrytped name identifier of the principal for this request 114 */ 115 public EncryptedID getEncryptedID(); 116 117 /** 118 * Sets the encrypted name identifier of the principal for this request. 119 * 120 * @param newEncryptedID the new encrypted name identifier of the principal for this request 121 */ 122 public void setEncryptedID(EncryptedID newEncryptedID); 123 124 /** 125 * Get the list of SessionIndexes for the request. 126 * 127 * 128 * @return the list of SessionIndexes 129 */ 130 public List<SessionIndex> getSessionIndexes(); 131 132 133 }