/*
* Copyright 2002-2005tagtraum industries
*/
package com.tagtraum.servlettest;
import javax.servlet.http.HttpSessionListener;
import javax.servlet.http.HttpSessionEvent;
import java.util.List;
import java.util.ArrayList;
/**
*
* @author <a href="mailto:hs@tagtraum.com">Hendrik Schreiber</a>
* @version 1.1beta1 ($Revision: 1.3 $)
*/
public class SimpleHttpSessionListener implements HttpSessionListener {
public static final String CONTEXT_KEY = "SimpleHttpSessionListener";
private List events = new ArrayList();
private List methods = new ArrayList();
public void sessionCreated(HttpSessionEvent event) {
events.add(event);
methods.add("sessionCreated");
registerListener(event);
}
public void sessionDestroyed(HttpSessionEvent event) {
events.add(event);
methods.add("sessionDestroyed");
registerListener(event);
}
public HttpSessionEvent lastEvent() {
if (events.isEmpty()) return null;
return (HttpSessionEvent)events.get(events.size()-1);
}
public String lastMethod() {
if (methods.isEmpty()) return null;
return (String)methods.get(methods.size()-1);
}
private void registerListener(HttpSessionEvent event) {
if (event.getSession().getServletContext().getAttribute(CONTEXT_KEY) == null) {
event.getSession().getServletContext().setAttribute(CONTEXT_KEY, this);
}
}
}
|