Class SessionImpl
- java.lang.Object
-
- org.apache.tapestry5.http.internal.services.SessionImpl
-
- All Implemented Interfaces:
Session
- Direct Known Subclasses:
ClusteredSessionImpl
public class SessionImpl extends Object implements Session
A thin wrapper aroundHttpSession
.
-
-
Constructor Summary
Constructors Constructor Description SessionImpl(HttpServletRequest request, HttpSession session, SessionLock lock)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.
-
-
-
Constructor Detail
-
SessionImpl
public SessionImpl(HttpServletRequest request, HttpSession session, SessionLock lock)
-
-
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 interfaceSession
-
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 interfaceSession
-
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 interfaceSession
-
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 interfaceSession
-
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 interfaceSession
-
invalidate
public void invalidate()
Description copied from interface:Session
Invalidates this session then unbinds any objects bound to it.- Specified by:
invalidate
in interfaceSession
-
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 toHttpSession.invalidate()
.- Specified by:
isInvalidated
in interfaceSession
-
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 interfaceSession
-
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 interfaceSession
- See Also:
OptimizedSessionPersistedObject
,OptimizedSessionPersistedObjectAnalyzer
,ImmutableSessionPersistedObject
-
-