com.bea.struts.adapter.framework.internal
Class StrutsRequestWrapper

java.lang.Object
  extended by javax.servlet.ServletRequestWrapper
      extended by javax.servlet.http.HttpServletRequestWrapper
          extended by com.bea.struts.adapter.framework.internal.StrutsRequestWrapper
All Implemented Interfaces
javax.servlet.http.HttpServletRequest, javax.servlet.ServletRequest

public final class StrutsRequestWrapper
extends javax.servlet.http.HttpServletRequestWrapper

Request wrapper that contains request-scoped values that our runtime uses. This is faster than sticking everything into attributes on the request.


Field Summary
 
Fields inherited from interface javax.servlet.http.HttpServletRequest
BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
 
Constructor Summary
StrutsRequestWrapper(javax.servlet.http.HttpServletRequest delegate)
           
 
Method Summary
static StrutsRequestWrapper get(javax.servlet.ServletRequest servletRequest)
           
 String getCharacterEncoding()
          This override returns "utf-8" if the character encoding in the request is null.
 Throwable getExceptionBeingHandled()
           
 int getForwardedRequestCount()
           
 javax.servlet.http.HttpServletRequest getHttpRequest()
           
 MultipartRequestWrapper getMultipartRequestWrapper()
           
 String getOriginalServletPath()
           
 String getPageFlowScopedFormName()
           
 void initFrom(StrutsRequestWrapper wrapper)
           
 boolean isForwardedByButton()
           
 boolean isForwardedRequest()
           
 boolean isProcessPopulateAlreadyCalled()
           
 boolean isReturningFromActionIntercept()
           
 boolean isReturningFromNesting()
           
 boolean isScopedLookup()
           
 boolean isStayInCurrentModule()
           
 void setExceptionBeingHandled(Throwable th)
           
 void setForwardedByButton(boolean forwardedByButton)
           
 void setForwardedRequestCount(int count)
           
 void setMultipartRequestWrapper(MultipartRequestWrapper multipartRequestWrapper)
           
 void setOriginalServletPath(String originalServletPath)
           
 void setPageFlowScopedFormName(String pageFlowScopedFormName)
           
 void setProcessPopulateAlreadyCalled(boolean processPopulateAlreadyCalled)
           
 void setReturningFromActionIntercept(boolean returningFromActionIntercept)
           
 void setReturningFromNesting(boolean returningFromNesting)
           
 void setScopedLookup(boolean scopedLookup)
           
 void setStayInCurrentModule(boolean stayInCurrentModule)
           
static StrutsRequestWrapper unwrap(javax.servlet.ServletRequest servletRequest)
          Unwrap to find the PageFlowRequestWrapper.
static StrutsRequestWrapper wrapRequest(javax.servlet.http.HttpServletRequest req)
           
 
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
getAttribute, getAttributeNames, 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, setAttribute, 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
getAttribute, getAttributeNames, getContentLength, getContentType, getInputStream, getLocalAddr, getLocale, getLocales, getLocalName, getLocalPort, getParameter, getParameterMap, getParameterNames, getParameterValues, getProtocol, getReader, getRealPath, getRemoteAddr, getRemoteHost, getRemotePort, getRequestDispatcher, getScheme, getServerName, getServerPort, isSecure, removeAttribute, setAttribute, setCharacterEncoding
 

Constructor Detail

StrutsRequestWrapper

public StrutsRequestWrapper(javax.servlet.http.HttpServletRequest delegate)
Method Detail

get

public static StrutsRequestWrapper get(javax.servlet.ServletRequest servletRequest)

unwrap

public static StrutsRequestWrapper unwrap(javax.servlet.ServletRequest servletRequest)
Unwrap to find the PageFlowRequestWrapper. This method may return null.

Parameters
servletRequest - the current request
Returns
the request unwrapped to the StrutsRequestWrapper

initFrom

public void initFrom(StrutsRequestWrapper wrapper)

isForwardedRequest

public boolean isForwardedRequest()

getForwardedRequestCount

public int getForwardedRequestCount()

setForwardedRequestCount

public void setForwardedRequestCount(int count)

getOriginalServletPath

public String getOriginalServletPath()

setOriginalServletPath

public void setOriginalServletPath(String originalServletPath)

isReturningFromActionIntercept

public boolean isReturningFromActionIntercept()

setReturningFromActionIntercept

public void setReturningFromActionIntercept(boolean returningFromActionIntercept)

getHttpRequest

public javax.servlet.http.HttpServletRequest getHttpRequest()

getPageFlowScopedFormName

public String getPageFlowScopedFormName()

setPageFlowScopedFormName

public void setPageFlowScopedFormName(String pageFlowScopedFormName)

isProcessPopulateAlreadyCalled

public boolean isProcessPopulateAlreadyCalled()

setProcessPopulateAlreadyCalled

public void setProcessPopulateAlreadyCalled(boolean processPopulateAlreadyCalled)

isForwardedByButton

public boolean isForwardedByButton()

setForwardedByButton

public void setForwardedByButton(boolean forwardedByButton)

getMultipartRequestWrapper

public MultipartRequestWrapper getMultipartRequestWrapper()

setMultipartRequestWrapper

public void setMultipartRequestWrapper(MultipartRequestWrapper multipartRequestWrapper)

isStayInCurrentModule

public boolean isStayInCurrentModule()

setStayInCurrentModule

public void setStayInCurrentModule(boolean stayInCurrentModule)

isScopedLookup

public boolean isScopedLookup()

setScopedLookup

public void setScopedLookup(boolean scopedLookup)

getExceptionBeingHandled

public Throwable getExceptionBeingHandled()

setExceptionBeingHandled

public void setExceptionBeingHandled(Throwable th)

isReturningFromNesting

public boolean isReturningFromNesting()

setReturningFromNesting

public void setReturningFromNesting(boolean returningFromNesting)

wrapRequest

public static StrutsRequestWrapper wrapRequest(javax.servlet.http.HttpServletRequest req)

getCharacterEncoding

public String getCharacterEncoding()
This override returns "utf-8" if the character encoding in the request is null. It works around a Struts issue (http://issues.apache.org/bugzilla/show_bug.cgi?id=29668), where CommonsMultipartRequestHandler uses the character encoding from the request, which causes problems if the encoding wasn't specified in the request (as it usually never is). This is tracked in Beehive's JIRA as http://issues.apache.org/jira/browse/BEEHIVE-803 .

Specified by:
getCharacterEncoding in interface javax.servlet.ServletRequest
Overrides:
getCharacterEncoding in class javax.servlet.ServletRequestWrapper


Copyright © 2011, Oracle. All rights reserved.