Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| The Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.springframework.web.portlet.context
Class PortletRequestAttributes

    java.lang.Object
      org.springframework.web.context.request.AbstractRequestAttributes
          org.springframework.web.portlet.context.PortletRequestAttributes

All Implemented Interfaces:
  RequestAttributes

Direct Known Subclasses:
  PortletWebRequest

    public class PortletRequestAttributes

extends AbstractRequestAttributes

Portlet-based implementation of the `RequestAttributes` interface.

Accesses objects from portlet request and portlet session scope, with a distinction between "session" (the PortletSession's "portlet scope") and "global session" (the PortletSession's "application scope").

Since:
  2.0
Author:
  Juergen Hoeller
See Also:
  `PortletRequest.getAttribute(java.lang.String)`, `PortletSession.getAttribute(java.lang.String)`, `PortletSession.PORTLET_SCOPE`, `PortletSession.APPLICATION_SCOPE`, `RequestAttributes.SCOPE_SESSION`, `RequestAttributes.SCOPE_GLOBAL_SESSION`

Field Summary

Fields inherited from class org.springframework.web.context.request.AbstractRequestAttributes
`requestDestructionCallbacks`

Fields inherited from interface org.springframework.web.context.request.RequestAttributes
`SCOPE_GLOBAL_SESSION, SCOPE_REQUEST, SCOPE_SESSION`

Constructor Summary
`PortletRequestAttributes(javax.portlet.PortletRequest request)` Create a new PortletRequestAttributes instance for the given request.

Method Summary
`Object` | `getAttribute(String name, int scope)` Return the value for the scoped attribute of the given name, if any.
`String[]` | `getAttributeNames(int scope)` Retrieve the names of all attributes in the scope.
`javax.portlet.PortletRequest` | `getRequest()` Exposes the native `PortletRequest` that we're wrapping.
`protected javax.portlet.PortletSession` | `getSession(boolean allowCreate)` Exposes the `PortletSession` that we're wrapping.
`String` | `getSessionId()` Return an id for the current underlying session.
`Object` | `getSessionMutex()` Expose the best available mutex for the underlying session: that is, an object to synchronize on for the underlying session.
`void` | `registerDestructionCallback(String name, Runnable callback, int scope)` Register a callback to be executed on destruction of the specified attribute in the given scope.
`void` | `removeAttribute(String name, int scope)` Remove the scoped attribute of the given name, if it exists.
`void` | `setAttribute(String name, Object value, int scope)` Set the value for the scoped attribute of the given name, replacing an existing value (if any).
`String` | `toString()`
`protected void` | `updateAccessedSessionAttributes()` Update all accessed session attributes through `session.setAttribute` calls, explicitly indicating to the container that they might have been modified.

Methods inherited from class org.springframework.web.context.request.AbstractRequestAttributes
`registerRequestDestructionCallback, removeRequestDestructionCallback, requestCompleted`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### PortletRequestAttributes

    public PortletRequestAttributes(javax.portlet.PortletRequest request)

  Create a new PortletRequestAttributes instance for the given request.

  Parameters:
    `request` - current portlet request

Method Detail

### getRequest

    public final javax.portlet.PortletRequest getRequest()

  Exposes the native `PortletRequest` that we're wrapping.

### getSession

    protected final javax.portlet.PortletSession getSession(boolean allowCreate)

  Exposes the `PortletSession` that we're wrapping.

  Parameters:
    `allowCreate` - whether to allow creation of a new session if none exists yet

### getAttribute

    public Object getAttribute(String name,
                               int scope)

  Description copied from interface: `RequestAttributes`
  Return the value for the scoped attribute of the given name, if any.

  Parameters:
    `name` - the name of the attribute
    `scope` - the scope identifier
  Returns:
    the current attribute value, or `null` if not found

### setAttribute

    public void setAttribute(String name,
                             Object value,
                             int scope)

  Description copied from interface: `RequestAttributes`
  Set the value for the scoped attribute of the given name, replacing an existing value (if any).

  Parameters:
    `name` - the name of the attribute
    `value` - the value for the attribute
    `scope` - the scope identifier

### removeAttribute

    public void removeAttribute(String name,
                                int scope)

  Description copied from interface: `RequestAttributes`
  Remove the scoped attribute of the given name, if it exists.

  Note that an implementation should also remove a registered destruction callback for the specified attribute, if any. It does, however, not need to execute a registered destruction callback in this case, since the object will be destroyed by the caller (if appropriate).

  Parameters:
    `name` - the name of the attribute
    `scope` - the scope identifier

### getAttributeNames

    public String[] getAttributeNames(int scope)

  Description copied from interface: `RequestAttributes`
  Retrieve the names of all attributes in the scope.

  Parameters:
    `scope` - the scope identifier
  Returns:
    the attribute names as String array

### registerDestructionCallback

    public void registerDestructionCallback(String name,
                                            Runnable callback,
                                            int scope)

  Description copied from interface: `RequestAttributes`
  Register a callback to be executed on destruction of the specified attribute in the given scope.

  Implementations should do their best to execute the callback at the appropriate time: that is, at request completion or session termination, respectively. If such a callback is not supported by the underlying runtime environment, the callback must be ignored and a corresponding warning should be logged.

  Note that 'destruction' usually corresponds to destruction of the entire scope, not to the individual attribute having been explicitly removed by the application. If an attribute gets removed via this facade's `RequestAttributes.removeAttribute(String, int)` method, any registered destruction callback should be disabled as well, assuming that the removed object will be reused or manually destroyed.

  Parameters:
    `name` - the name of the attribute to register the callback for
    `callback` - the destruction callback to be executed
    `scope` - the scope identifier

### getSessionId

    public String getSessionId()

  Description copied from interface: `RequestAttributes`
  Return an id for the current underlying session.

  Returns:
    the session id as String (never `null`

### getSessionMutex

    public Object getSessionMutex()

  Description copied from interface: `RequestAttributes`
  Expose the best available mutex for the underlying session: that is, an object to synchronize on for the underlying session.

  Returns:
    the session mutex to use (never `null`

### updateAccessedSessionAttributes

    protected void updateAccessedSessionAttributes()

  Update all accessed session attributes through `session.setAttribute` calls, explicitly indicating to the container that they might have been modified.

  Specified by:
    `updateAccessedSessionAttributes` in class `AbstractRequestAttributes`

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| The Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2008 The Spring Framework.