org.springframework.web.context.request.RequestAttributes |
Known Indirect Subclasses |
Abstraction for accessing attribute objects associated with a request. Supports access to request-scoped attributes as well as to session-scoped attributes, with the optional notion of a "global session".
Can be implemented for any kind of request/session mechanism, in particular for servlet requests and portlet requests.
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
String | REFERENCE_REQUEST | Name of the standard reference to the request object: "request". | |||||||||
String | REFERENCE_SESSION | Name of the standard reference to the session object: "session". | |||||||||
int | SCOPE_GLOBAL_SESSION | Constant that indicates global session scope. | |||||||||
int | SCOPE_REQUEST | Constant that indicates request scope. | |||||||||
int | SCOPE_SESSION | Constant that indicates session scope. |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Return the value for the scoped attribute of the given name, if any.
| |||||||||||
Retrieve the names of all attributes in the scope.
| |||||||||||
Return an id for the current underlying session.
| |||||||||||
Expose the best available mutex for the underlying session:
that is, an object to synchronize on for the underlying session.
| |||||||||||
Register a callback to be executed on destruction of the
specified attribute in the given scope.
| |||||||||||
Remove the scoped attribute of the given name, if it exists.
| |||||||||||
Resolve the contextual reference for the given key, if any.
| |||||||||||
Set the value for the scoped attribute of the given name,
replacing an existing value (if any).
|
Name of the standard reference to the request object: "request".
Name of the standard reference to the session object: "session".
Constant that indicates global session scope.
This explicitly refers to a globally shared session, if such a distinction is available (for example, in a Portlet environment). Else, it simply refers to the common session.
Constant that indicates request scope.
Constant that indicates session scope.
This preferably refers to a locally isolated session, if such a distinction is available (for example, in a Portlet environment). Else, it simply refers to the common session.
Return the value for the scoped attribute of the given name, if any.
name | the name of the attribute |
---|---|
scope | the scope identifier |
null
if not found
Retrieve the names of all attributes in the scope.
scope | the scope identifier |
---|
Return an id for the current underlying session.
null
Expose the best available mutex for the underlying session: that is, an object to synchronize on for the underlying session.
null
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 removeAttribute(String, int)
method, any registered
destruction callback should be disabled as well, assuming that the
removed object will be reused or manually destroyed.
NOTE: Callback objects should generally be serializable if they are being registered for a session scope. Otherwise the callback (or even the entire session) might not survive web app restarts.
name | the name of the attribute to register the callback for |
---|---|
callback | the destruction callback to be executed |
scope | the scope identifier |
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).
name | the name of the attribute |
---|---|
scope | the scope identifier |
Resolve the contextual reference for the given key, if any.
At a minimum: the HttpServletRequest/PortletRequest reference for key "request", and the HttpSession/PortletSession reference for key "session".
key | the contextual key |
---|
null
if none found
Set the value for the scoped attribute of the given name, replacing an existing value (if any).
name | the name of the attribute |
---|---|
value | the value for the attribute |
scope | the scope identifier |