org.apache.tapestry5.internal.services
Class SessionImpl

java.lang.Object
  extended by org.apache.tapestry5.internal.services.SessionImpl
All Implemented Interfaces:
Session
Direct Known Subclasses:
ClusteredSessionImpl

public class SessionImpl
extends Object
implements Session

A thin wrapper around HttpSession.


Constructor Summary
SessionImpl(HttpServletRequest request, HttpSession session)
           
 
Method Summary
 Object getAttribute(String name)
          Returns the value previously stored in the session.
 List<String> getAttributeNames()
          Returns a list of the names of all attributes stored in the session.
 List<String> getAttributeNames(String prefix)
          Returns a list of the names of all attributes stored in the session whose name has the provided prefix.
 int getMaxInactiveInterval()
          Returns the maximum time interval, in seconds, that the servlet container will keep this session open between client accesses.
 void invalidate()
          Invalidates this session then unbinds any objects bound to it.
 boolean isInvalidated()
          Checks to see if the session has been invalidated.
 void restoreDirtyObjects()
          Re-stores dirty objects back into the session.
 void setAttribute(String name, Object value)
          Sets the value of an attribute.
 void setMaxInactiveInterval(int seconds)
          Specifies the time, in seconds, between client requests before the servlet container will invalidate this session.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SessionImpl

public SessionImpl(HttpServletRequest request,
                   HttpSession session)
Method Detail

getAttribute

public Object getAttribute(String name)
Description copied from interface: Session
Returns the value previously stored in the session.

Specified by:
getAttribute in interface Session

getAttributeNames

public List<String> getAttributeNames()
Description copied from interface: Session
Returns a list of the names of all attributes stored in the session. The names are returned sorted alphabetically.

Specified by:
getAttributeNames in interface Session

setAttribute

public void setAttribute(String name,
                         Object value)
Description copied from interface: Session
Sets the value of an attribute. If the value is null, then the attribute is deleted.

Specified by:
setAttribute in interface Session

getAttributeNames

public List<String> getAttributeNames(String prefix)
Description copied from interface: Session
Returns a list of the names of all attributes stored in the session whose name has the provided prefix. The names are returned in alphabetical order.

Specified by:
getAttributeNames in interface Session

getMaxInactiveInterval

public int getMaxInactiveInterval()
Description copied from interface: Session
Returns the maximum time interval, in seconds, that the servlet container will keep this session open between client accesses. After this interval, the servlet container will invalidate the session. The maximum time interval can be set with the setMaxInactiveInterval method. A negative time indicates the session should never timeout.

Specified by:
getMaxInactiveInterval in interface Session

invalidate

public void invalidate()
Description copied from interface: Session
Invalidates this session then unbinds any objects bound to it.

Specified by:
invalidate in interface Session

isInvalidated

public boolean isInvalidated()
Description copied from interface: Session
Checks to see if the session has been invalidated. Note: since 5.3 this will also catch calls to HttpSession.invalidate().

Specified by:
isInvalidated in interface Session

setMaxInactiveInterval

public void setMaxInactiveInterval(int seconds)
Description copied from interface: Session
Specifies the time, in seconds, between client requests before the servlet container will invalidate this session. A negative time indicates the session should never timeout.

Specified by:
setMaxInactiveInterval in interface Session

restoreDirtyObjects

public void restoreDirtyObjects()
Description copied from interface: Session
Re-stores dirty objects back into the session. This is necessary to support clustering, because (in most application servers) session objects are only broadcast around the cluster from setAttribute(). If a mutable session object is read and changed, those changes will be limited to a single server in the cluster, which can cause confusing application failures in the event of a failover. Does nothing if there are no changes, or the session has been invalidated.

Specified by:
restoreDirtyObjects in interface Session
See Also:
OptimizedSessionPersistedObject, OptimizedSessionPersistedObjectAnalyzer, ImmutableSessionPersistedObject


Copyright © 2003-2012 The Apache Software Foundation.