org.zkoss.zk.ui.http.SerializableSession Maven / Gradle / Ivy
/* SerializableSession.java
Purpose:
Description:
History:
Thu Jul 6 11:19:36 2006, Created by tomyeh
Copyright (C) 2006 Potix Corporation. All Rights Reserved.
{{IS_RIGHT
This program is distributed under LGPL Version 2.1 in the hope that
it will be useful, but WITHOUT ANY WARRANTY.
}}IS_RIGHT
*/
package org.zkoss.zk.ui.http;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionActivationListener;
import javax.servlet.http.HttpSessionEvent;
import org.zkoss.zk.ui.WebApp;
/**
* Serializable {@link org.zkoss.zk.ui.Session}.
*
* @author tomyeh
*/
public class SerializableSession extends SimpleSession
implements HttpSessionActivationListener, java.io.Serializable {
private static final long serialVersionUID = 20080421L;
/** Constructor.
*
* @param request the original request causing this session to be created.
* If HTTP and servlet, it is javax.servlet.http.HttpServletRequest.
* If portlet, it is javax.portlet.RenderRequest.
* @since 3.0.1
*/
public SerializableSession(WebApp wapp, HttpSession hsess, Object request) {
super(wapp, hsess, request);
}
/** Constructs a ZK session with either a HTTP session or a Portlet session.
*
* @param hsess the original session, either an instance of
* HttpSession or PortletSession.
* Notice: we don't declare PortletSession in API
* to avoid this class failed to be loaded in some system (without
* portlet-api.jar)
* @param request the original request causing this session to be created.
* If portlet, it is javax.portlet.RenderRequest.
* @since 6.0.3
*/
public SerializableSession(WebApp wapp, Object hsess, Object request) {
super(wapp, hsess, request);
}
//-- HttpSessionActivationListener --//
public void sessionWillPassivate(HttpSessionEvent se) {
sessionWillPassivate();
}
public void sessionDidActivate(HttpSessionEvent se) {
sessionDidActivate(se.getSession());
}
//Serializable//
private synchronized void writeObject(java.io.ObjectOutputStream s)
throws java.io.IOException {
s.defaultWriteObject();
writeThis(s);
}
private void readObject(java.io.ObjectInputStream s)
throws java.io.IOException, ClassNotFoundException {
s.defaultReadObject();
readThis(s);
}
}