View Javadoc

    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