org.springframework.web.context.support
Class ContextExposingHttpServletRequest

java.lang.Object
  extended by HttpServletRequestWrapper
      extended by org.springframework.web.context.support.ContextExposingHttpServletRequest

public class ContextExposingHttpServletRequest
extends HttpServletRequestWrapper

HttpServletRequest decorator that makes all Spring beans in a given WebApplicationContext accessible as request attributes, through lazy checking once an attribute gets accessed.

Since:
2.5
Author:
Juergen Hoeller

Field Summary
private  java.util.Set<java.lang.String> explicitAttributes
           
private  java.util.Set<java.lang.String> exposedContextBeanNames
           
private  WebApplicationContext webApplicationContext
           
 
Constructor Summary
ContextExposingHttpServletRequest(HttpServletRequest originalRequest, WebApplicationContext context)
          Create a new ContextExposingHttpServletRequest for the given request.
ContextExposingHttpServletRequest(HttpServletRequest originalRequest, WebApplicationContext context, java.util.Set<java.lang.String> exposedContextBeanNames)
          Create a new ContextExposingHttpServletRequest for the given request.
 
Method Summary
 java.lang.Object getAttribute(java.lang.String name)
           
 WebApplicationContext getWebApplicationContext()
          Return the WebApplicationContext that this request runs in.
 void setAttribute(java.lang.String name, java.lang.Object value)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

webApplicationContext

private final WebApplicationContext webApplicationContext

exposedContextBeanNames

private final java.util.Set<java.lang.String> exposedContextBeanNames

explicitAttributes

private java.util.Set<java.lang.String> explicitAttributes
Constructor Detail

ContextExposingHttpServletRequest

public ContextExposingHttpServletRequest(HttpServletRequest originalRequest,
                                         WebApplicationContext context)
Create a new ContextExposingHttpServletRequest for the given request.

Parameters:
originalRequest - the original HttpServletRequest
context - the WebApplicationContext that this request runs in

ContextExposingHttpServletRequest

public ContextExposingHttpServletRequest(HttpServletRequest originalRequest,
                                         WebApplicationContext context,
                                         java.util.Set<java.lang.String> exposedContextBeanNames)
Create a new ContextExposingHttpServletRequest for the given request.

Parameters:
originalRequest - the original HttpServletRequest
context - the WebApplicationContext that this request runs in
exposedContextBeanNames - the names of beans in the context which are supposed to be exposed (if this is non-null, only the beans in this Set are eligible for exposure as attributes)
Method Detail

getWebApplicationContext

public final WebApplicationContext getWebApplicationContext()
Return the WebApplicationContext that this request runs in.


getAttribute

public java.lang.Object getAttribute(java.lang.String name)

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object value)