org.barracudamvc.plankton.http
Class SessionServices

java.lang.Object
  extended byorg.barracudamvc.plankton.http.SessionServices
Direct Known Subclasses:
SessionServices

public class SessionServices
extends Object

This class defines a convenience method to get the session and set the timeout at the same time. It also provides a mechanism to easily cache objects in the session by Reference (which allows them to automatically be removed from the session if the system starts running low on memory)


Field Summary
static String KEY
           
protected static org.apache.log4j.Logger logger
           
 
Constructor Summary
SessionServices()
           
 
Method Summary
static Object getObjectFromCache(javax.servlet.http.HttpSession session, Object key, ReferenceFactory factory)
          This method looks for an object in the session based on a given key.
static javax.servlet.http.HttpSession getSession(javax.servlet.http.HttpServletRequest req)
          get the session from a request.
static javax.servlet.http.HttpSession getSession(javax.servlet.http.HttpServletRequest req, boolean create)
          get the session from a request (allowing you to specify whether or not to create it)
static javax.servlet.http.HttpSession getSession(javax.servlet.http.HttpServletRequest req, boolean create, Integer timeout)
          get the session from a request (allowing you to specify whether or not to create it).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

KEY

public static final String KEY

logger

protected static final org.apache.log4j.Logger logger
Constructor Detail

SessionServices

public SessionServices()
Method Detail

getSession

public static javax.servlet.http.HttpSession getSession(javax.servlet.http.HttpServletRequest req)
get the session from a request. If no session exists it will create it for us. Ensures that the timeout is set to DEFAULT_TIMEOUT.

Parameters:
req - the ServletRequest object
Returns:
the users session

getSession

public static javax.servlet.http.HttpSession getSession(javax.servlet.http.HttpServletRequest req,
                                                        boolean create)
get the session from a request (allowing you to specify whether or not to create it)

Parameters:
req - the ServletRequest object
create - if true, the session will be created if it does not already exist
Returns:
the users session (may be null if the session does not yet exist and create is false)

getSession

public static javax.servlet.http.HttpSession getSession(javax.servlet.http.HttpServletRequest req,
                                                        boolean create,
                                                        Integer timeout)
get the session from a request (allowing you to specify whether or not to create it). If the session exists, it will set the default timeout for us.

Parameters:
req - the ServletRequest object
create - if true, the session will be created if it does not already exist
timeout - the default timeout value (null indicates do not set)
Returns:
the users session (may be null if the session does not yet exist and create is false)

getObjectFromCache

public static Object getObjectFromCache(javax.servlet.http.HttpSession session,
                                        Object key,
                                        ReferenceFactory factory)
This method looks for an object in the session based on a given key. If the object is not present, it will be created using the ReferenceFactory and cached in session for future use.

Parameters:
session - the HttpSession
key - the key that identifies this object
factory - the ReferenceFactory used to create the object
Returns:
the object from the cache


Copyright © 2004 BarracudaMVC.org All Rights Reserved.