Interface Session
- All Known Implementing Classes:
AbstractSession
public interface Session
Represents a browser session.
Sessions persist between HTTP requests for a single browser session. They are deleted when the browser is closed, or they time-out. Session cookies are used to maintain sessions using a secure UUID.
Sessions can be used to maintain data for a browser session, e.g. a shopping basket.
The context must have first been routed to a SessionHandler
for sessions to be available.
- Author:
- Tim Fox
-
Method Summary
Modifier and TypeMethodDescriptioncomputeIfAbsent(String key, Function<String, Object> mappingFunction) Put some data in a session if absent.data()voiddestroy()Destroy the session<T> TGet some data from the sessionid()booleanbooleanisEmpty()booleanlongoldId()Put some data in a sessionputIfAbsent(String key, Object obj) Put some data in a session if absent<T> TRemove some data from the sessionvoidMark the session as being accessed.longtimeout()default Stringvalue()The short representation of the session to be added to the session cookie.
-
Method Details
-
regenerateId
Session regenerateId()- Returns:
- The new unique ID of the session.
-
id
String id()- Returns:
- The unique ID of the session. This is generated using a random secure UUID.
-
put
-
putIfAbsent
-
computeIfAbsent
Put some data in a session if absent. If the specified key is not already associated with a value (or is mapped tonull), attempts to compute its value using the given mapping function and enters it into this map unlessnull.- Parameters:
key- the key for the datamappingFunction- a mapping function- Returns:
- a reference to this, so the API can be used fluently
-
get
Get some data from the session- Parameters:
key- the key of the data- Returns:
- the data
-
remove
Remove some data from the session- Parameters:
key- the key of the data- Returns:
- the data that was there or null if none there
-
data
-
isEmpty
boolean isEmpty()- Returns:
- true if the session has data
-
lastAccessed
long lastAccessed()- Returns:
- the time the session was last accessed
-
destroy
void destroy()Destroy the session -
isDestroyed
boolean isDestroyed()- Returns:
- has the session been destroyed?
-
isRegenerated
boolean isRegenerated()- Returns:
- has the session been renewed?
-
oldId
String oldId()- Returns:
- old ID if renewed
-
timeout
long timeout()- Returns:
- the amount of time in ms, after which the session will expire, if not accessed.
-
setAccessed
void setAccessed()Mark the session as being accessed. -
value
The short representation of the session to be added to the session cookie. By default is the session id.- Returns:
- short representation string.
-