1 2 3 /* 4 * The contents of this file are subject to the terms 5 * of the Common Development and Distribution License 6 * (the "License"). You may not use this file except 7 * in compliance with the License. 8 * 9 * You can obtain a copy of the license at 10 * glassfish/bootstrap/legal/CDDLv1.0.txt or 11 * https://glassfish.dev.java.net/public/CDDLv1.0.html. 12 * See the License for the specific language governing 13 * permissions and limitations under the License. 14 * 15 * When distributing Covered Code, include this CDDL 16 * HEADER in each file and include the License file at 17 * glassfish/bootstrap/legal/CDDLv1.0.txt. If applicable, 18 * add the following below this CDDL HEADER, with the 19 * fields enclosed by brackets "[]" replaced with your 20 * own identifying information: Portions Copyright [yyyy] 21 * [name of copyright owner] 22 * 23 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 24 * 25 * Portions Copyright Apache Software Foundation. 26 */ 27 28 29 package javax.servlet.http; 30 31 32 33 /** 34 * 35 * Events of this type are either sent to an object that implements 36 * {@link HttpSessionBindingListener} when it is bound or 37 * unbound from a session, or to a {@link HttpSessionAttributeListener} 38 * that has been configured in the deployment descriptor when any attribute is 39 * bound, unbound or replaced in a session. 40 * 41 * <p>The session binds the object by a call to 42 * <code>HttpSession.setAttribute</code> and unbinds the object 43 * by a call to <code>HttpSession.removeAttribute</code>. 44 * 45 * 46 * 47 * @author Various 48 * 49 * @see HttpSession 50 * @see HttpSessionBindingListener 51 * @see HttpSessionAttributeListener 52 */ 53 54 public class HttpSessionBindingEvent extends HttpSessionEvent { 55 56 57 58 59 /* The name to which the object is being bound or unbound */ 60 61 private String name; 62 63 /* The object is being bound or unbound */ 64 65 private Object value; 66 67 68 69 /** 70 * 71 * Constructs an event that notifies an object that it 72 * has been bound to or unbound from a session. 73 * To receive the event, the object must implement 74 * {@link HttpSessionBindingListener}. 75 * 76 * 77 * 78 * @param session the session to which the object is bound or unbound 79 * 80 * @param name the name with which the object is bound or unbound 81 * 82 * @see #getName 83 * @see #getSession 84 * 85 */ 86 87 public HttpSessionBindingEvent(HttpSession session, String name) { 88 super(session); 89 this.name = name; 90 } 91 92 /** 93 * 94 * Constructs an event that notifies an object that it 95 * has been bound to or unbound from a session. 96 * To receive the event, the object must implement 97 * {@link HttpSessionBindingListener}. 98 * 99 * 100 * 101 * @param session the session to which the object is bound or unbound 102 * 103 * @param name the name with which the object is bound or unbound 104 * 105 * @see #getName 106 * @see #getSession 107 * 108 */ 109 110 public HttpSessionBindingEvent(HttpSession session, String name, Object value) { 111 super(session); 112 this.name = name; 113 this.value = value; 114 } 115 116 117 /** Return the session that changed. */ 118 public HttpSession getSession () { 119 return super.getSession(); 120 } 121 122 123 124 125 /** 126 * 127 * Returns the name with which the attribute is bound to or 128 * unbound from the session. 129 * 130 * 131 * @return a string specifying the name with which 132 * the object is bound to or unbound from 133 * the session 134 * 135 * 136 */ 137 138 public String getName() { 139 return name; 140 } 141 142 /** 143 * Returns the value of the attribute that has been added, removed or replaced. 144 * If the attribute was added (or bound), this is the value of the attribute. If the attribute was 145 * removed (or unbound), this is the value of the removed attribute. If the attribute was replaced, this 146 * is the old value of the attribute. 147 * 148 * @since 2.3 149 */ 150 151 public Object getValue() { 152 return this.value; 153 } 154 155 } 156 157 158 159 160 161 162