public class MockHttpSession extends Object implements HttpSession
HttpSession interface.
As of Spring 5.0, this set of mocks is designed on a Servlet 4.0 baseline.
| Modifier and Type | Field and Description |
|---|---|
static String |
SESSION_COOKIE_NAME
The session cookie name.
|
| Constructor and Description |
|---|
MockHttpSession()
Create a new MockHttpSession with a default
MockServletContext. |
MockHttpSession(ServletContext servletContext)
Create a new MockHttpSession.
|
MockHttpSession(ServletContext servletContext,
String id)
Create a new MockHttpSession.
|
| Modifier and Type | Method and Description |
|---|---|
void |
access() |
String |
changeSessionId()
As of Servlet 3.1, the id of a session can be changed.
|
void |
clearAttributes()
Clear all of this session's attributes.
|
void |
deserializeState(Serializable state)
Deserialize the attributes of this session from a state object created by
serializeState(). |
Object |
getAttribute(String name)
Returns the object bound with the specified name in this session, or
null if no object is bound under the name. |
Enumeration<String> |
getAttributeNames()
Returns an
Enumeration of String objects
containing the names of all the objects bound to this session. |
long |
getCreationTime()
Returns the time when this session was created, measured
in milliseconds since midnight January 1, 1970 GMT.
|
String |
getId()
Returns a string containing the unique identifier assigned
to this session.
|
long |
getLastAccessedTime()
Returns the last time the client sent a request associated with
this session, as the number of milliseconds since midnight
January 1, 1970 GMT, and marked by the time the container received the
request.
|
int |
getMaxInactiveInterval()
Returns the maximum time interval, in seconds, that
the servlet container will keep this session open between
client accesses.
|
ServletContext |
getServletContext()
Returns the ServletContext to which this session belongs.
|
HttpSessionContext |
getSessionContext() |
Object |
getValue(String name) |
String[] |
getValueNames() |
void |
invalidate()
Invalidates this session then unbinds any objects bound to it.
|
boolean |
isInvalid() |
boolean |
isNew()
Returns
true if the client does not yet know about the
session or if the client chooses not to join the session. |
void |
putValue(String name,
Object value) |
void |
removeAttribute(String name)
Removes the object bound with the specified name from
this session.
|
void |
removeValue(String name) |
Serializable |
serializeState()
Serialize the attributes of this session into an object that can be
turned into a byte array with standard Java serialization.
|
void |
setAttribute(String name,
Object value)
Binds an object to this session, using the name specified.
|
void |
setMaxInactiveInterval(int interval)
Specifies the time, in seconds, between client requests before the
servlet container will invalidate this session.
|
void |
setNew(boolean value) |
public static final String SESSION_COOKIE_NAME
public MockHttpSession()
MockServletContext.MockServletContextpublic MockHttpSession(@Nullable ServletContext servletContext)
servletContext - the ServletContext that the session runs inpublic MockHttpSession(@Nullable ServletContext servletContext, @Nullable String id)
servletContext - the ServletContext that the session runs inid - a unique identifier for this sessionpublic long getCreationTime()
javax.servlet.http.HttpSessiongetCreationTime in interface HttpSessionlong specifying
when this session was created,
expressed in
milliseconds since 1/1/1970 GMTpublic String getId()
javax.servlet.http.HttpSessiongetId in interface HttpSessionpublic String changeSessionId()
public void access()
public long getLastAccessedTime()
javax.servlet.http.HttpSessionActions that your application takes, such as getting or setting a value associated with the session, do not affect the access time.
getLastAccessedTime in interface HttpSessionlong
representing the last time
the client sent a request associated
with this session, expressed in
milliseconds since 1/1/1970 GMTpublic ServletContext getServletContext()
javax.servlet.http.HttpSessiongetServletContext in interface HttpSessionpublic void setMaxInactiveInterval(int interval)
javax.servlet.http.HttpSessionAn interval value of zero or less indicates that the session should never timeout.
setMaxInactiveInterval in interface HttpSessioninterval - An integer specifying the number
of secondspublic int getMaxInactiveInterval()
javax.servlet.http.HttpSessionsetMaxInactiveInterval method.
A return value of zero or less indicates that the session will never timeout.
getMaxInactiveInterval in interface HttpSessionHttpSession.setMaxInactiveInterval(int)public HttpSessionContext getSessionContext()
getSessionContext in interface HttpSessionHttpSessionContext for this session.public Object getAttribute(String name)
javax.servlet.http.HttpSessionnull if no object is bound under the name.getAttribute in interface HttpSessionname - a string specifying the name of the objectpublic Object getValue(String name)
getValue in interface HttpSessionname - a string specifying the name of the objectpublic Enumeration<String> getAttributeNames()
javax.servlet.http.HttpSessionEnumeration of String objects
containing the names of all the objects bound to this session.getAttributeNames in interface HttpSessionEnumeration of
String objects specifying the
names of all the objects bound to
this sessionpublic String[] getValueNames()
getValueNames in interface HttpSessionString
objects specifying the
names of all the objects bound to
this sessionpublic void setAttribute(String name, @Nullable Object value)
javax.servlet.http.HttpSessionAfter this method executes, and if the new object
implements HttpSessionBindingListener,
the container calls
HttpSessionBindingListener.valueBound. The container then
notifies any HttpSessionAttributeListeners in the web
application.
If an object was already bound to this session of this name
that implements HttpSessionBindingListener, its
HttpSessionBindingListener.valueUnbound method is called.
If the value passed in is null, this has the same effect as calling
removeAttribute().
setAttribute in interface HttpSessionname - the name to which the object is bound;
cannot be nullvalue - the object to be boundpublic void putValue(String name, Object value)
putValue in interface HttpSessionname - the name to which the object is bound;
cannot be nullvalue - the object to be bound; cannot be nullpublic void removeAttribute(String name)
javax.servlet.http.HttpSessionAfter this method executes, and if the object
implements HttpSessionBindingListener,
the container calls
HttpSessionBindingListener.valueUnbound. The container
then notifies any HttpSessionAttributeListeners in the web
application.
removeAttribute in interface HttpSessionname - the name of the object to
remove from this sessionpublic void removeValue(String name)
removeValue in interface HttpSessionname - the name of the object to
remove from this sessionpublic void clearAttributes()
public void invalidate()
invalidate in interface HttpSessionIllegalStateException - if this method is called on an already invalidated sessionpublic boolean isInvalid()
public void setNew(boolean value)
public boolean isNew()
javax.servlet.http.HttpSessiontrue if the client does not yet know about the
session or if the client chooses not to join the session. For
example, if the server used only cookie-based sessions, and
the client had disabled the use of cookies, then a session would
be new on each request.isNew in interface HttpSessiontrue if the
server has created a session,
but the client has not yet joinedpublic Serializable serializeState()
public void deserializeState(Serializable state)
serializeState().state - a representation of this session's serialized state