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)
PortletSessionPORTLET_SCOPE, or null if no
object is bound under the name in that scope.getAttribute in interface PortletSessionname - a string specifying the name of the objectPORTLET_SCOPE.public Object getAttribute(String name, int scope)
PortletSessionnull if no object is bound under the name in the given scope.getAttribute in interface PortletSessionname - a string specifying the name of the objectscope - session scope of this attributepublic Enumeration<String> getAttributeNames()
PortletSessionEnumeration 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 PortletSessionEnumeration 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)
PortletSessionEnumeration 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 PortletSessionscope - 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()
PortletSessiongetCreationTime in interface PortletSessionlong specifying
when this session was created,
expressed in
milliseconds since 1/1/1970 GMTpublic String getId()
PortletSessiongetId in interface PortletSessionpublic long getLastAccessedTime()
PortletSessionActions that your portlet takes, such as getting or setting a value associated with the session, do not affect the access time.
getLastAccessedTime in interface PortletSessionlong
representing the last time
the client sent a request associated
with this session, expressed in
milliseconds since 1/1/1970 GMTpublic int getMaxInactiveInterval()
PortletSessionsetMaxInactiveInterval method.
A negative time indicates the session should never timeout.getMaxInactiveInterval in interface PortletSessionPortletSession.setMaxInactiveInterval(int)public void invalidate()
PortletSession
Invalidating the portlet session will result in invalidating the underlying
HttpSession
invalidate in interface PortletSessionpublic boolean isNew()
PortletSessionisNew in interface PortletSessiontrue if the
server has created a session,
but the client has not joined yet.public void removeAttribute(String name)
PortletSessionPORTLET_SCOPE from
this session. If the session does not have an object
bound with the specified name, this method does nothing.removeAttribute in interface PortletSessionname - the name of the object to be
removed from this session in the
PORTLET_SCOPE.public void removeAttribute(String name, int scope)
PortletSessionremoveAttribute in interface PortletSessionname - the name of the object to be
removed from this sessionscope - session scope of this attributepublic void setAttribute(String name, Object value)
PortletSessionPORTLET_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 PortletSessionname - 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)
PortletSessionAfter 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 PortletSessionname - 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)
PortletSessionsetMaxInactiveInterval in interface PortletSessioninterval - An integer specifying the number
of secondspublic PortletContext getPortletContext()
PortletSessiongetPortletContext in interface PortletSessionpublic Map<String,Object> getAttributeMap()
PortletSessionMap 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 PortletSessionMap 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)
PortletSessionMap 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 PortletSessionscope - 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.