Class PortletSessionWrapper

  • All Implemented Interfaces:
    PortletSession

    public class PortletSessionWrapper
    extends Object
    implements PortletSession
    The 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.
    Since:
    3.0
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method 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.
    • Constructor Detail

      • PortletSessionWrapper

        public PortletSessionWrapper​(PortletSession wrapped)
        Parameters:
        wrapped - the wrapped object to set.
        Throws:
        IllegalArgumentException - if the PortletSession is null.
    • Method Detail

      • getWrapped

        public PortletSession getWrapped()
        Gets the wrapped object.
        Returns:
        the wrapped object.
      • setWrapped

        public void setWrapped​(PortletSession wrapped)
        Sets the wrapped object.
        Parameters:
        wrapped - the wrapped object to set.
        Throws:
        IllegalArgumentException - if the PortletSession is null.
      • getAttribute

        public Object getAttribute​(String name)
        Description copied from interface: PortletSession
        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.
        Specified by:
        getAttribute in interface PortletSession
        Parameters:
        name - a string specifying the name of the object
        Returns:
        the object with the specified name for the PORTLET_SCOPE.
      • getAttribute

        public Object getAttribute​(String name,
                                   int scope)
        Description copied from interface: PortletSession
        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.
        Specified by:
        getAttribute in interface PortletSession
        Parameters:
        name - a string specifying the name of the object
        scope - session scope of this attribute
        Returns:
        the object with the specified name
      • getAttributeNames

        public Enumeration<String> getAttributeNames()
        Description copied from interface: PortletSession
        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.
        Specified by:
        getAttributeNames in interface PortletSession
        Returns:
        an Enumeration of String objects specifying the names of all the objects bound to this session, or an empty Enumeration if no attributes are available.
      • getAttributeNames

        public Enumeration<String> getAttributeNames​(int scope)
        Description copied from interface: PortletSession
        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.
        Specified by:
        getAttributeNames in interface PortletSession
        Parameters:
        scope - session scope of the attribute names
        Returns:
        an Enumeration 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.
      • getCreationTime

        public long getCreationTime()
        Description copied from interface: PortletSession
        Returns the time when this session was created, measured in milliseconds since midnight January 1, 1970 GMT.
        Specified by:
        getCreationTime in interface PortletSession
        Returns:
        a long specifying when this session was created, expressed in milliseconds since 1/1/1970 GMT
      • getId

        public String getId()
        Description copied from interface: PortletSession
        Returns a string containing the unique identifier assigned to this session.
        Specified by:
        getId in interface PortletSession
        Returns:
        a string specifying the identifier assigned to this session
      • getLastAccessedTime

        public long getLastAccessedTime()
        Description copied from interface: PortletSession
        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.

        Specified by:
        getLastAccessedTime in interface PortletSession
        Returns:
        a long representing the last time the client sent a request associated with this session, expressed in milliseconds since 1/1/1970 GMT
      • getMaxInactiveInterval

        public int getMaxInactiveInterval()
        Description copied from interface: PortletSession
        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 setMaxInactiveInterval method. A negative time indicates the session should never timeout.
        Specified by:
        getMaxInactiveInterval in interface PortletSession
        Returns:
        an integer specifying the number of seconds this session remains open between client requests
        See Also:
        PortletSession.setMaxInactiveInterval(int)
      • invalidate

        public void invalidate()
        Description copied from interface: PortletSession
        Invalidates this session (all scopes) and unbinds any objects bound to it.

        Invalidating the portlet session will result in invalidating the underlying HttpSession

        Specified by:
        invalidate in interface PortletSession
      • isNew

        public boolean isNew()
        Description copied from interface: PortletSession
        Returns true if the client does not yet know about the session or if the client chooses not to join the session.
        Specified by:
        isNew in interface PortletSession
        Returns:
        true if the server has created a session, but the client has not joined yet.
      • removeAttribute

        public void removeAttribute​(String name)
        Description copied from interface: PortletSession
        Removes the object bound with the specified name under the PORTLET_SCOPE from this session. If the session does not have an object bound with the specified name, this method does nothing.
        Specified by:
        removeAttribute in interface PortletSession
        Parameters:
        name - the name of the object to be removed from this session in the PORTLET_SCOPE.
      • removeAttribute

        public void removeAttribute​(String name,
                                    int scope)
        Description copied from interface: PortletSession
        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.
        Specified by:
        removeAttribute in interface PortletSession
        Parameters:
        name - the name of the object to be removed from this session
        scope - session scope of this attribute
      • setAttribute

        public void setAttribute​(String name,
                                 Object value)
        Description copied from interface: PortletSession
        Binds an object to this session under the 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().

        Specified by:
        setAttribute in interface PortletSession
        Parameters:
        name - the name to which the object is bound under the PORTLET_SCOPE; this cannot be null.
        value - the object to be bound
      • setAttribute

        public void setAttribute​(String name,
                                 Object value,
                                 int scope)
        Description copied from interface: PortletSession
        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 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().

        Specified by:
        setAttribute in interface PortletSession
        Parameters:
        name - the name to which the object is bound; this cannot be null.
        value - the object to be bound
        scope - session scope of this attribute
      • setMaxInactiveInterval

        public void setMaxInactiveInterval​(int interval)
        Description copied from interface: PortletSession
        Specifies the time, in seconds, between client requests, before the portlet container invalidates this session. A negative time indicates the session should never timeout.
        Specified by:
        setMaxInactiveInterval in interface PortletSession
        Parameters:
        interval - An integer specifying the number of seconds
      • getAttributeMap

        public Map<String,​Object> getAttributeMap()
        Description copied from interface: PortletSession
        Returns a 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.

        Specified by:
        getAttributeMap in interface PortletSession
        Returns:
        an immutable 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.
      • getAttributeMap

        public Map<String,​Object> getAttributeMap​(int scope)
        Description copied from interface: PortletSession
        Returns a 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.

        Specified by:
        getAttributeMap in interface PortletSession
        Parameters:
        scope - session scope of this attribute
        Returns:
        an immutable Map 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.