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 java.util.EventObject;
38:
39: /**
40: * The <code>AbstractSessionEvent</code> class provides a default implementation
41: * of a session event. Standard behaviors like the get methods of HTTP session
42: * and ICEfaces ID properties are defined here.
43: */
44: public abstract class AbstractSessionEvent extends EventObject
45: implements ContextEvent {
46: protected String iceFacesId;
47:
48: /**
49: * Constructs an <code>AbstractSessionEvent</code> with the specified
50: * <code>source</code> and <code>iceFacesId</code>. </p>
51: *
52: * @param source the source of this <code>AbstractSessionEvent</code>.
53: * @param iceFacesId the ICEfaces ID.
54: * @throws IllegalArgumentException if the one of the following happens:
55: * <ul> <li> the specified
56: * <code>source</code> is
57: * <code>null</code>. </li> <li> the
58: * specified <code>iceFacesId</code> is
59: * either <code>null</code> or empty. </li>
60: * </ul>
61: */
62: protected AbstractSessionEvent(HttpSession source, String iceFacesId)
63: throws IllegalArgumentException {
64: super (source);
65: // if (iceFacesId == null) {
66: // throw new IllegalArgumentException("iceFacesId is null");
67: // }
68: // if (iceFacesId.trim().length() == 0) {
69: // throw new IllegalArgumentException("iceFacesId is empty");
70: // }
71: this .iceFacesId = iceFacesId;
72: }
73:
74: /**
75: * Gets the HTTP session of this <code>AbstractSessionEvent</code>. </p>
76: *
77: * @return the HTTP session.
78: */
79: public HttpSession getHttpSession() {
80: return (HttpSession) source;
81: }
82:
83: /**
84: * Gets the ICEfaces ID of this <code>AbstractSessionEvent</code>. </p>
85: *
86: * @return the ICEfaces ID.
87: */
88: public String getICEfacesID() {
89: return iceFacesId;
90: }
91: }
|