01: /*
02: * Version: MPL 1.1/GPL 2.0/LGPL 2.1
03: *
04: * "The contents of this file are subject to the Mozilla Public License
05: * Version 1.1 (the "License"); you may not use this file except in
06: * compliance with the License. You may obtain a copy of the License at
07: * http://www.mozilla.org/MPL/
08: *
09: * Software distributed under the License is distributed on an "AS IS"
10: * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
11: * License for the specific language governing rights and limitations under
12: * the License.
13: *
14: * The Original Code is ICEfaces 1.5 open source software code, released
15: * November 5, 2006. The Initial Developer of the Original Code is ICEsoft
16: * Technologies Canada, Corp. Portions created by ICEsoft are Copyright (C)
17: * 2004-2006 ICEsoft Technologies Canada, Corp. All Rights Reserved.
18: *
19: * Contributor(s): _____________________.
20: *
21: * Alternatively, the contents of this file may be used under the terms of
22: * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"
23: * License), in which case the provisions of the LGPL License are
24: * applicable instead of those above. If you wish to allow use of your
25: * version of this file only under the terms of the LGPL License and not to
26: * allow others to use your version of this file under the MPL, indicate
27: * your decision by deleting the provisions above and replace them with
28: * the notice and other provisions required by the LGPL License. If you do
29: * not delete the provisions above, a recipient may use your version of
30: * this file under either the MPL or the LGPL License."
31: *
32: */
33:
34: package com.icesoft.faces.util.event.servlet;
35:
36: import javax.servlet.http.HttpSession;
37: import javax.servlet.http.HttpSessionEvent;
38:
39: /**
40: * The <code>SessionDestroyedEvent</code> class represents an event that should
41: * be fired when a session is destroyed in order to give registered listeners
42: * time to do proper clean-up and/or other appropriate actions. </p>
43: */
44: public class SessionDestroyedEvent extends AbstractSessionEvent
45: implements ContextEvent {
46: private HttpSessionEvent httpSessionEvent;
47:
48: /**
49: * Constructs a <code>SessionDestroyedEvent</code> with the specified
50: * <code>httpSessionEvent</code> as the nested event. </p>
51: *
52: * @param httpSessionEvent the nested HTTP session event.
53: * @throws IllegalArgumentException if the one of the following happens:
54: * <ul> <li> the specified
55: * <code>source</code> is
56: * <code>null</code>. </li> <li> the
57: * specified <code>iceFacesId</code> is
58: * either <code>null</code> or empty. </li>
59: * </ul>
60: * @throws NullPointerException if the specified
61: * <code>httpSessionEvent</code> is
62: * <code>null</code>.
63: */
64: public SessionDestroyedEvent(HttpSessionEvent httpSessionEvent,
65: String iceFacesId) throws IllegalArgumentException,
66: NullPointerException {
67: super ((HttpSession) httpSessionEvent.getSource(), iceFacesId);
68: this .httpSessionEvent = httpSessionEvent;
69: }
70:
71: /**
72: * Gets the nested HTTP Session event of this
73: * <code>SessionDestroyedEvent</code>. </p>
74: *
75: * @return the nested HTTP Session event.
76: */
77: public HttpSessionEvent getNestedHttpSessionEvent() {
78: return httpSessionEvent;
79: }
80: }
|