public interface PortletSession
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 | 
|---|---|
| static int | APPLICATION_SCOPEThis constant defines an application wide scope for the session attribute. | 
| static int | PORTLET_SCOPEThis constant defines the scope of the session attribute to be
 private to the portlet and its included resources. | 
| 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, ornullif 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  nullif no object is bound under the name in the given scope. | 
| Map<String,Object> | getAttributeMap()Returns a  Mapof the session attributes in
 the portlet session scope. | 
| Map<String,Object> | getAttributeMap(int scope)Returns a  Mapof the session attributes in
 the given session scope. | 
| Enumeration<String> | getAttributeNames()Returns an  Enumerationof String objects containing the names of 
 all the objects bound to this session under thePORTLET_SCOPE, or an
 emptyEnumerationif no attributes are available. | 
| Enumeration<String> | getAttributeNames(int scope)Returns an  Enumerationof String objects containing the names of 
 all the objects bound to this session in the given scope, or an
 emptyEnumerationif 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. | 
| 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_SCOPEfrom
 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. | 
static final int APPLICATION_SCOPE
APPLICATION_SCOPE session attributes enable Portlets 
 within one portlet application to share data.
 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: 0x01
static final int PORTLET_SCOPE
 Value: 0x02
Object getAttribute(String name)
PORTLET_SCOPE, or null if no 
 object is bound under the name in that scope.name - a string specifying the name of the objectPORTLET_SCOPE.IllegalStateException - if this method is called on an
                                        invalidated session.IllegalArgumentException - if name is null.Object getAttribute(String name, int scope)
null if no object is bound under the name in the given scope.name - a string specifying the name of the objectscope - session scope of this attributeIllegalStateException - if this method is called on an
                                        invalidated session, or the scope is unknown to the container.IllegalArgumentException - if name is null.Enumeration<String> getAttributeNames()
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 of 
                                String objects specifying the
                                names of all the objects bound to
                                this session, or an empty Enumeration 
                if no attributes are available.IllegalStateException - if this method is called on an
                                        invalidated sessionEnumeration<String> getAttributeNames(int scope)
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.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.IllegalStateException - if this method is called on an
                                        invalidated session, or the scope is unknown to the container.long getCreationTime()
long specifying
                                        when this session was created,
                                        expressed in 
                                        milliseconds since 1/1/1970 GMTIllegalStateException - if this method is called on an
                                        invalidated sessionString getId()
long getLastAccessedTime()
Actions that your portlet takes, such as getting or setting a value associated with the session, do not affect the access time.
long
                                        representing the last time 
                                        the client sent a request associated
                                        with this session, expressed in 
                                        milliseconds since 1/1/1970 GMTint getMaxInactiveInterval()
setMaxInactiveInterval method.
 A negative time indicates the session should never timeout.setMaxInactiveInterval(int)void invalidate()
 Invalidating the portlet session will result in invalidating the underlying
 HttpSession
IllegalStateException - if this method is called on a
                                        session which has already been invalidatedboolean isNew()
true if the 
                                        server has created a session, 
                                        but the client has not joined yet.IllegalStateException - if this method is called on a
                                        session which has already been invalidatedvoid removeAttribute(String name)
PORTLET_SCOPE from
 this session. If the session does not have an object
 bound with the specified name, this method does nothing.name - the name of the object to be
               removed from this session in the 
                PORTLET_SCOPE.IllegalStateException - if this method is called on a
                   session which has been invalidatedIllegalArgumentException - if name is null.void removeAttribute(String name, int scope)
name - the name of the object to be
               removed from this sessionscope - session scope of this attributeIllegalStateException - if this method is called on a
                   session which has been invalidatedIllegalArgumentException - if name is null.void setAttribute(String name, Object value)
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().
name - the name to which the object is bound under
                            the PORTLET_SCOPE;
                                this cannot be null.value - the object to be boundIllegalStateException - if this method is called on a
                                        session which has been invalidatedIllegalArgumentException - if name is null.void setAttribute(String name, Object value, int scope)
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().
name - the name to which the object is bound;
                                this cannot be null.value - the object to be boundscope - session scope of this attributeIllegalStateException - if this method is called on a
                                        session which has been invalidatedIllegalArgumentException - if name is null or scope is unknown to the container.void setMaxInactiveInterval(int interval)
interval - An integer specifying the number
                                of secondsPortletContext getPortletContext()
Map<String,Object> getAttributeMap()
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.
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.Map<String,Object> getAttributeMap(int scope)
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.
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.Copyright © 2004–2015 The Apache Software Foundation. All rights reserved.