001/** 002 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 003 * 004 * Copyright (c) 2006 Sun Microsystems Inc. All Rights Reserved 005 * 006 * The contents of this file are subject to the terms 007 * of the Common Development and Distribution License 008 * (the License). You may not use this file except in 009 * compliance with the License. 010 * 011 * You can obtain a copy of the License at 012 * https://opensso.dev.java.net/public/CDDLv1.0.html or 013 * opensso/legal/CDDLv1.0.txt 014 * See the License for the specific language governing 015 * permission and limitations under the License. 016 * 017 * When distributing Covered Code, include this CDDL 018 * Header Notice in each file and include the License file 019 * at opensso/legal/CDDLv1.0.txt. 020 * If applicable, add the following below the CDDL Header, 021 * with the fields enclosed by brackets [] replaced by 022 * your own identifying information: 023 * "Portions Copyrighted [year] [name of copyright owner]" 024 * 025 * $Id: LogoutRequest.java,v 1.2 2008/06/25 05:47:56 qcheng Exp $ 026 * 027 * Portions Copyrighted 2016 ForgeRock AS. 028 */ 029 030 031package com.sun.identity.saml2.protocol; 032 033import com.fasterxml.jackson.annotation.JsonTypeInfo; 034import com.fasterxml.jackson.databind.annotation.JsonDeserialize; 035import com.sun.identity.saml2.common.SAML2Exception; 036import com.sun.identity.saml2.protocol.impl.LogoutRequestImpl; 037import com.sun.identity.saml2.protocol.impl.LogoutResponseImpl; 038 039/** 040 * This class represents the <code>LogoutRequest</code> element in 041 * SAML protocol schema. 042 * A session participant or session authority sends a <code>LogoutRequest</code> 043 * message to indicate that a session has been terminated. 044 * 045 * <pre> 046 * <element name="LogoutRequest" type="{urn:oasis:names:tc:SAML:2.0:protocol}LogoutRequestType"/> 047 * </pre> 048 * 049 * <pre> 050 * <complexType name="LogoutRequestType"> 051 * <complexContent> 052 * <extension base="{urn:oasis:names:tc:SAML:2.0:protocol}RequestAbstractType"> 053 * <sequence> 054 * <choice> 055 * <element ref="{urn:oasis:names:tc:SAML:2.0:assertion}BaseID"/> 056 * <element ref="{urn:oasis:names:tc:SAML:2.0:assertion}NameID"/> 057 * <element ref="{urn:oasis:names:tc:SAML:2.0:assertion}EncryptedID"/> 058 * </choice> 059 * <element ref="{urn:oasis:names:tc:SAML:2.0:protocol}SessionIndex" maxOccurs="unbounded" minOccurs="0"/> 060 * </sequence> 061 * <attribute name="NotOnOrAfter" type="{http://www.w3.org/2001/XMLSchema}dateTime" /> 062 * <attribute name="Reason" type="{http://www.w3.org/2001/XMLSchema}string" /> 063 * </extension> 064 * </complexContent> 065 * </complexType> 066 * </pre> 067 * 068 * @supported.all.api 069 */ 070 071@JsonTypeInfo(include = JsonTypeInfo.As.PROPERTY, use = JsonTypeInfo.Id.CLASS, 072 defaultImpl = LogoutRequestImpl.class) 073public interface LogoutRequest 074extends com.sun.identity.saml2.protocol.RequestAbstract { 075 076 /** 077 * Returns the value of the notOnOrAfter property. 078 * 079 * @return <code>java.util.Date</code> value of the notOnOrAfter property 080 * @see #setNotOnOrAfter(Date) 081 */ 082 public java.util.Date getNotOnOrAfter(); 083 084 /** 085 * Sets the value of the notOnOrAfter property. 086 * 087 * @param value <code>java.util.Date</code> value of the notOnOrAfter 088 * property to be set 089 * 090 * @throws SAML2Exception if the object is immutable 091 * @see #getNotOnOrAfter 092 */ 093 public void setNotOnOrAfter(java.util.Date value) throws SAML2Exception; 094 095 /** 096 * Returns the value of the reason property. 097 * 098 * @return <code>String</code> value of the reason property 099 * @see #setReason(String) 100 */ 101 public java.lang.String getReason(); 102 103 /** 104 * Sets the value of the reason property. 105 * 106 * @param value <code>String</code> value of the reason property to be set 107 * @throws SAML2Exception if the object is immutable 108 * @see #getReason 109 */ 110 public void setReason(java.lang.String value) throws SAML2Exception; 111 112 /** 113 * Returns the value of the encryptedID property. 114 * 115 * @return the value of the encryptedID property 116 * @see #setEncryptedID(EncryptedID) 117 */ 118 public com.sun.identity.saml2.assertion.EncryptedID getEncryptedID(); 119 120 /** 121 * Sets the value of the encryptedID property. 122 * 123 * @param value the value of the encryptedID property to be set 124 * @throws SAML2Exception if the object is immutable 125 * 126 * @see #getEncryptedID 127 */ 128 public void setEncryptedID( 129 com.sun.identity.saml2.assertion.EncryptedID value) 130 throws SAML2Exception; 131 132 /** 133 * Returns the value of the nameID property. 134 * 135 * @return the value of the nameID property 136 * @see #setNameID(NameID) 137 */ 138 public com.sun.identity.saml2.assertion.NameID getNameID(); 139 140 /** 141 * Sets the value of the nameID property. 142 * 143 * @param value the value of the nameID property to be set 144 * @throws SAML2Exception if the object is immutable 145 * @see #getNameID 146 */ 147 public void setNameID(com.sun.identity.saml2.assertion.NameID value) 148 throws SAML2Exception; 149 150 /** 151 * Returns the value of the baseID property. 152 * 153 * @return the value of the baseID property 154 * @see #setBaseID(BaseID) 155 */ 156 public com.sun.identity.saml2.assertion.BaseID getBaseID(); 157 158 /** 159 * Sets the value of the baseID property. 160 * 161 * @param value the value of the baseID property to be set 162 * @throws SAML2Exception if the object is immutable 163 * @see #getBaseID 164 */ 165 public void setBaseID(com.sun.identity.saml2.assertion.BaseID value) 166 throws SAML2Exception; 167 168 /** 169 * Returns the value of the SessionIndex property. 170 * 171 * @return list containing objects of type <code>java.lang.String</code> 172 * @see #setSessionIndex(List) 173 */ 174 public java.util.List getSessionIndex(); 175 176 /** 177 * Sets the value of the SessionIndex property. 178 * 179 * @param sessionIndexList list containing objects of 180 * type <code>java.lang.String</code> 181 * @throws SAML2Exception if the object is immutable 182 * @see #getSessionIndex 183 */ 184 public void setSessionIndex(java.util.List sessionIndexList) 185 throws SAML2Exception; 186}