PortletSession interface provides a way to identify a user
across more than one request and to store transient information about that user.
A PortletSession is created per user client per portlet application.
A portlet can bind an object attribute into a PortletSession by name.
The PortletSession interface defines two scopes for storing objects:
APPLICATION_SCOPE
PORTLET_SCOPE
APPLICATION_SCOPE
must be available to all the portlets, servlets and
JSPs that belongs to the same portlet application and that handles a
request identified as being a part of the same session.
Objects stored in the session using the PORTLET_SCOPE must be
available to the portlet during requests for the same portlet window
that the objects where stored from. Attributes stored in the
PORTLET_SCOPE are not protected from other web components
of the portlet application. They are just conveniently namespaced.
The portlet session is based on the HttpSession. Therefore all
HttpSession listeners do apply to the portlet session and
attributes set in the portlet session are visible in the HttpSession
and vice versa.
| Modifier and Type | Field and Description |
|---|---|
| public static final int | APPLICATION_SCOPE
This constant defines an application wide scope for the session attribute. |
| public static final int | PORTLET_SCOPE
This constant defines the scope of the session attribute to be private to the portlet and its included resources. |
| Modifier and Type | Method and Description |
|---|---|
| public Object | Returns: the object with the specified name for thePORTLET_SCOPE.a string specifying the name of the object name)Returns the object bound with the specified name in this session
under the |
| public Object | Returns: the object with the specified namea string specifying the name of the object name, int session scope of this attribute scope)Returns
the object bound with the specified name in this session,
or |
| public Map | Returns: an immutableMap containing the session attributes in the
portlet session scope as keys and attribute values as map values, or an empty Map
if no session attributes exist. The keys in the
map are of type String, the values of type
Object.Returns a |
| public Map | Returns: an immutableMap containing the session attributes in the
given scope as keys and attribute values as map values, or an empty Map
if no session attributes exist. The keys in the
map are of type String, the values of type
Object.session scope of this attribute scope)Returns
a |
| public Enumeration | Returns: anEnumeration of
String objects specifying the
names of all the objects bound to
this session, or an empty Enumeration
if no attributes are available.Returns an |
| public Enumeration | Returns: anEnumeration of
String objects specifying the
names of all the objects bound to
this session, or an empty Enumeration
if no attributes are available in the given scope.session scope of the attribute names scope)Returns
an |
| public long | Returns: along specifying
when this session was created,
expressed in
milliseconds since 1/1/1970 GMTReturns the time when this session was created, measured in milliseconds since midnight January 1, 1970 GMT. |
| public String | Returns: a string specifying the identifier assigned to this sessionReturns a string containing the unique identifier assigned to this session. |
| public long | Returns: along
representing the last time
the client sent a request associated
with this session, expressed in
milliseconds since 1/1/1970 GMTReturns the last time the client sent a request associated with this session, as the number of milliseconds since midnight January 1, 1970 GMT. |
| public int | Returns: an integer specifying the number of seconds this session remains open between client requestsReturns the maximum time interval, in seconds, for which the portlet container keeps this session open between client accesses. |
| public PortletContext | Returns: the portlet application contextReturns the portlet application context associated with this session. |
| public void | |
| public boolean | Returns: true if the
server has created a session,
but the client has not joined yet.Returns true if the client does not yet know about the session or if the client chooses not to join the session. |
| public void | removeAttribute(String
the name of the object to be
removed from this session in the
name) PORTLET_SCOPE.Removes the object bound with the specified name under
the |
| public void | removeAttribute(String
the name of the object to be
removed from this session name, int session scope of this attribute scope)Removes the object bound with the specified name and the given scope from this session. |
| public void | setAttribute(String
the name to which the object is bound under
the name, Object PORTLET_SCOPE;
this cannot be null.the object to be bound value)Binds an object to this session under the |
| public void | setAttribute(String
the name to which the object is bound;
this cannot be name, Object null.the object to be bound value, int session scope of this attribute scope)Binds an object to this session in the given scope, using the name specified. |
| public void | setMaxInactiveInterval(int
An integer specifying the number
of seconds interval)Specifies the time, in seconds, between client requests, before the portlet container invalidates this session. |
| APPLICATION_SCOPE | back to summary |
|---|---|
| public static final int APPLICATION_SCOPE This constant defines an application wide scope for the session attribute.
Portlets may need to prefix attributes set in this scope with some ID, to avoid overwriting each other's attributes in the case where two portlets of the same portlet definition are created.
Value: | |
| PORTLET_SCOPE | back to summary |
|---|---|
| public static final int PORTLET_SCOPE This constant defines the scope of the session attribute to be private to the portlet and its included resources.
Value: | |
| getAttribute | back to summary |
|---|---|
| public Object getAttribute(String name) Returns the object bound with the specified name in this session
under the
| |
| getAttribute | back to summary |
|---|---|
| public Object getAttribute(String name, int scope) Returns
the object bound with the specified name in this session,
or
| |
| getAttributeMap | back to summary |
|---|---|
| public Map Returns a
The keys are of type
If no session attributes exist this method returns an empty | |
| getAttributeMap | back to summary |
|---|---|
| public Map Returns
a
The keys are of type
If no session attributes exist this method returns an empty
| |
| getAttributeNames | back to summary |
|---|---|
| public Enumeration Returns an
| |
| getAttributeNames | back to summary |
|---|---|
| public Enumeration Returns
an
| |
| getCreationTime | back to summary |
|---|---|
| public long getCreationTime() Returns the time when this session was created, measured in milliseconds since midnight January 1, 1970 GMT.
| |
| getId | back to summary |
|---|---|
| public String getId() Returns a string containing the unique identifier assigned to this session.
| |
| getLastAccessedTime | back to summary |
|---|---|
| public 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. Actions that your portlet takes, such as getting or setting a value associated with the session, do not affect the access time.
| |
| getMaxInactiveInterval | back to summary |
|---|---|
| public int getMaxInactiveInterval() Returns the maximum time interval, in seconds, for which the portlet container
keeps this session open between client accesses. After this interval,
the portlet container invalidates the session. The maximum time
interval can be set
with the
| |
| getPortletContext | back to summary |
|---|---|
| public PortletContext getPortletContext() Returns the portlet application context associated with this session.
| |
| invalidate | back to summary |
|---|---|
| public void invalidate() Invalidates this session (all scopes) and unbinds any objects bound to it.
Invalidating the portlet session will result in invalidating the underlying
| |
| isNew | back to summary |
|---|---|
| public boolean isNew() Returns true if the client does not yet know about the session or if the client chooses not to join the session.
| |
| removeAttribute | back to summary |
|---|---|
| public void removeAttribute(String name) Removes the object bound with the specified name under
the
| |
| removeAttribute | back to summary |
|---|---|
| public void removeAttribute(String name, int scope) Removes the object bound with the specified name and the given scope from this session. If the session does not have an object bound with the specified name, this method does nothing.
| |
| setAttribute | back to summary |
|---|---|
| public void setAttribute(String name, Object value) Binds an object to this session under the After this method has been executed, and if the new object
implements If an object was already bound to this session
that implements If the value is
| |
| setAttribute | back to summary |
|---|---|
| public void setAttribute(String name, Object value, int scope) Binds an object to this session in the given scope, using the name specified. If an object of the same name in this scope is already bound to the session, that object is replaced. After this method has been executed, and if the new object
implements If an object was already bound to this session
that implements If the value is
| |
| setMaxInactiveInterval | back to summary |
|---|---|
| public void setMaxInactiveInterval(int interval) Specifies the time, in seconds, between client requests, before the portlet container invalidates this session. A negative time indicates the session should never timeout.
| |