org.springframework.web.context.support
Class ContextExposingHttpServletRequest

java.lang.Object
  extended by javax.servlet.ServletRequestWrapper
      extended by javax.servlet.http.HttpServletRequestWrapper
          extended by org.springframework.web.context.support.ContextExposingHttpServletRequest
All Implemented Interfaces:
HttpServletRequest, ServletRequest

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
 
Fields inherited from interface javax.servlet.http.HttpServletRequest
BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
 
Constructor Summary
ContextExposingHttpServletRequest(HttpServletRequest originalRequest, WebApplicationContext context)
          Create a new ContextExposingHttpServletRequest for the given request.
ContextExposingHttpServletRequest(HttpServletRequest originalRequest, WebApplicationContext context, Set<String> exposedContextBeanNames)
          Create a new ContextExposingHttpServletRequest for the given request.
 
Method Summary
 Object getAttribute(String name)
           
 WebApplicationContext getWebApplicationContext()
          Return the WebApplicationContext that this request runs in.
 void setAttribute(String name, Object value)
           
 
Methods inherited from class javax.servlet.http.HttpServletRequestWrapper
getAuthType, getContextPath, getCookies, getDateHeader, getHeader, getHeaderNames, getHeaders, getIntHeader, getMethod, getPathInfo, getPathTranslated, getQueryString, getRemoteUser, getRequestedSessionId, getRequestURI, getRequestURL, getServletPath, getSession, getSession, getUserPrincipal, isRequestedSessionIdFromCookie, isRequestedSessionIdFromUrl, isRequestedSessionIdFromURL, isRequestedSessionIdValid, isUserInRole
 
Methods inherited from class javax.servlet.ServletRequestWrapper
getAttributeNames, getCharacterEncoding, getContentLength, getContentType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequest, getRequestDispatcher, getScheme, getServerName, getServerPort, isSecure, removeAttribute, setCharacterEncoding, setRequest
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.servlet.ServletRequest
getAttributeNames, getCharacterEncoding, getContentLength, getContentType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getScheme, getServerName, getServerPort, isSecure, removeAttribute, setCharacterEncoding
 

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,
                                         Set<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 Object getAttribute(String name)
Specified by:
getAttribute in interface ServletRequest
Overrides:
getAttribute in class ServletRequestWrapper

setAttribute

public void setAttribute(String name,
                         Object value)
Specified by:
setAttribute in interface ServletRequest
Overrides:
setAttribute in class ServletRequestWrapper