public class PortletSessionWrapper extends Object implements PortletSession
PortletSessionWrapper
provides a convenient
implementation of the PortletSession
interface
that can be subclassed by developers.
This class implements the Wrapper or Decorator pattern.
Methods default to calling through to the wrapped request object.
Modifier and Type | Field and Description |
---|---|
protected PortletSession |
wrapped |
APPLICATION_SCOPE, PORTLET_SCOPE
Constructor and Description |
---|
PortletSessionWrapper(PortletSession wrapped) |
Modifier and Type | Method and Description |
---|---|
Object |
getAttribute(String name)
Returns the object bound with the specified name in this session
under the
PORTLET_SCOPE , or null if no
object is bound under the name in that scope. |
Object |
getAttribute(String name,
int scope)
Returns
the object bound with the specified name in this session,
or
null if no object is bound under the name in the given scope. |
Map<String,Object> |
getAttributeMap()
Returns a
Map of the session attributes in
the portlet session scope. |
Map<String,Object> |
getAttributeMap(int scope)
Returns
a
Map of the session attributes in
the given session scope. |
Enumeration<String> |
getAttributeNames()
Returns an
Enumeration of String objects containing the names of
all the objects bound to this session under the PORTLET_SCOPE , or an
empty Enumeration if no attributes are available. |
Enumeration<String> |
getAttributeNames(int scope)
Returns
an
Enumeration of String objects containing the names of
all the objects bound to this session in the given scope, or an
empty Enumeration if no attributes are available in the
given scope. |
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.
|
int |
getMaxInactiveInterval()
Returns the maximum time interval, in seconds, for which the portlet container
keeps this session open between client accesses.
|
PortletContext |
getPortletContext()
Returns the portlet application context associated with this session.
|
PortletSession |
getWrapped()
Gets the wrapped object.
|
void |
invalidate()
Invalidates this session (all scopes) and unbinds any objects bound to it.
|
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 |
removeAttribute(String name)
Removes the object bound with the specified name under
the
PORTLET_SCOPE from
this session. |
void |
removeAttribute(String name,
int scope)
Removes
the object bound with the specified name and the given scope from
this session.
|
void |
setAttribute(String name,
Object value)
Binds an object to this session under the
PORTLET_SCOPE , using the name specified. |
void |
setAttribute(String name,
Object value,
int scope)
Binds an object to this session in the given scope, using the name specified.
|
void |
setMaxInactiveInterval(int interval)
Specifies the time, in seconds, between client requests, before the
portlet container invalidates this session.
|
void |
setWrapped(PortletSession wrapped)
Sets the wrapped object.
|
protected PortletSession wrapped
public PortletSessionWrapper(PortletSession wrapped)
wrapped
- the wrapped object to set.IllegalArgumentException
- if the PortletSession is null.public PortletSession getWrapped()
public void setWrapped(PortletSession wrapped)
wrapped
- the wrapped object to set.IllegalArgumentException
- if the PortletSession is null.public Object getAttribute(String name)
PortletSession
PORTLET_SCOPE
, or null
if no
object is bound under the name in that scope.getAttribute
in interface PortletSession
name
- a string specifying the name of the objectPORTLET_SCOPE
.public Object getAttribute(String name, int scope)
PortletSession
null
if no object is bound under the name in the given scope.getAttribute
in interface PortletSession
name
- a string specifying the name of the objectscope
- session scope of this attributepublic Enumeration<String> getAttributeNames()
PortletSession
Enumeration
of String objects containing the names of
all the objects bound to this session under the PORTLET_SCOPE
, or an
empty Enumeration
if no attributes are available.getAttributeNames
in interface PortletSession
Enumeration
of
String
objects specifying the
names of all the objects bound to
this session, or an empty Enumeration
if no attributes are available.public Enumeration<String> getAttributeNames(int scope)
PortletSession
Enumeration
of String objects containing the names of
all the objects bound to this session in the given scope, or an
empty Enumeration
if no attributes are available in the
given scope.getAttributeNames
in interface PortletSession
scope
- session scope of the attribute namesEnumeration
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.public long getCreationTime()
PortletSession
getCreationTime
in interface PortletSession
long
specifying
when this session was created,
expressed in
milliseconds since 1/1/1970 GMTpublic String getId()
PortletSession
getId
in interface PortletSession
public long getLastAccessedTime()
PortletSession
Actions that your portlet takes, such as getting or setting a value associated with the session, do not affect the access time.
getLastAccessedTime
in interface PortletSession
long
representing the last time
the client sent a request associated
with this session, expressed in
milliseconds since 1/1/1970 GMTpublic int getMaxInactiveInterval()
PortletSession
setMaxInactiveInterval
method.
A negative time indicates the session should never timeout.getMaxInactiveInterval
in interface PortletSession
PortletSession.setMaxInactiveInterval(int)
public void invalidate()
PortletSession
Invalidating the portlet session will result in invalidating the underlying
HttpSession
invalidate
in interface PortletSession
public boolean isNew()
PortletSession
isNew
in interface PortletSession
true
if the
server has created a session,
but the client has not joined yet.public void removeAttribute(String name)
PortletSession
PORTLET_SCOPE
from
this session. If the session does not have an object
bound with the specified name, this method does nothing.removeAttribute
in interface PortletSession
name
- the name of the object to be
removed from this session in the
PORTLET_SCOPE
.public void removeAttribute(String name, int scope)
PortletSession
removeAttribute
in interface PortletSession
name
- the name of the object to be
removed from this sessionscope
- session scope of this attributepublic void setAttribute(String name, Object value)
PortletSession
PORTLET_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 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
that implements HttpSessionBindingListener
, its
HttpSessionBindingListener.valueUnbound
method is called.
If the value is null
, this has the same effect as calling
removeAttribute()
.
setAttribute
in interface PortletSession
name
- the name to which the object is bound under
the PORTLET_SCOPE
;
this cannot be null
.value
- the object to be boundpublic void setAttribute(String name, Object value, int scope)
PortletSession
After this method has been executed, 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
that implements HttpSessionBindingListener
, its
HttpSessionBindingListener.valueUnbound
method is called.
If the value is null
, this has the same effect as calling
removeAttribute()
.
setAttribute
in interface PortletSession
name
- the name to which the object is bound;
this cannot be null
.value
- the object to be boundscope
- session scope of this attributepublic void setMaxInactiveInterval(int interval)
PortletSession
setMaxInactiveInterval
in interface PortletSession
interval
- An integer specifying the number
of secondspublic PortletContext getPortletContext()
PortletSession
getPortletContext
in interface PortletSession
public Map<String,Object> getAttributeMap()
PortletSession
Map
of the session attributes in
the portlet session scope.
The keys are of type String
and the values in the
returned Map
are from type Object
.
If no session attributes exist this method returns an empty Map
.
getAttributeMap
in interface PortletSession
Map
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.public Map<String,Object> getAttributeMap(int scope)
PortletSession
Map
of the session attributes in
the given session scope.
The keys are of type String
and the values in the
returned Map
are from type Object
.
If no session attributes exist this method returns an empty Map
.
getAttributeMap
in interface PortletSession
scope
- session scope of this attributeMap
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.Java Portlet 3.0 API Specification. See the Copyright and License provided with this distribution. Use is subject to license terms.