org.apache.myfaces.orchestra.requestParameterProvider
Class RequestParameterResponseWrapper

java.lang.Object
  extended by javax.servlet.ServletResponseWrapper
      extended by javax.servlet.http.HttpServletResponseWrapper
          extended by org.apache.myfaces.orchestra.requestParameterProvider.RequestParameterResponseWrapper
All Implemented Interfaces:
javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse

public class RequestParameterResponseWrapper
extends javax.servlet.http.HttpServletResponseWrapper

This wrapper intercepts encodeURL and pass it to the RequestParameterProviderManager which attaches the url parameters


Field Summary
 
Fields inherited from interface javax.servlet.http.HttpServletResponse
SC_ACCEPTED, SC_BAD_GATEWAY, SC_BAD_REQUEST, SC_CONFLICT, SC_CONTINUE, SC_CREATED, SC_EXPECTATION_FAILED, SC_FORBIDDEN, SC_GATEWAY_TIMEOUT, SC_GONE, SC_HTTP_VERSION_NOT_SUPPORTED, SC_INTERNAL_SERVER_ERROR, SC_LENGTH_REQUIRED, SC_METHOD_NOT_ALLOWED, SC_MOVED_PERMANENTLY, SC_MOVED_TEMPORARILY, SC_MULTIPLE_CHOICES, SC_NO_CONTENT, SC_NON_AUTHORITATIVE_INFORMATION, SC_NOT_ACCEPTABLE, SC_NOT_FOUND, SC_NOT_IMPLEMENTED, SC_NOT_MODIFIED, SC_OK, SC_PARTIAL_CONTENT, SC_PAYMENT_REQUIRED, SC_PRECONDITION_FAILED, SC_PROXY_AUTHENTICATION_REQUIRED, SC_REQUEST_ENTITY_TOO_LARGE, SC_REQUEST_TIMEOUT, SC_REQUEST_URI_TOO_LONG, SC_REQUESTED_RANGE_NOT_SATISFIABLE, SC_RESET_CONTENT, SC_SEE_OTHER, SC_SERVICE_UNAVAILABLE, SC_SWITCHING_PROTOCOLS, SC_TEMPORARY_REDIRECT, SC_UNAUTHORIZED, SC_UNSUPPORTED_MEDIA_TYPE, SC_USE_PROXY
 
Constructor Summary
RequestParameterResponseWrapper(javax.servlet.http.HttpServletResponse httpServletResponse)
           
 
Method Summary
 String encodeUrl(String url)
          Deprecated.  
 String encodeURL(String url)
          Override the inherited behaviour to add to the url any query parameters that have been registered with the RequestParameterProviderManager.
 
Methods inherited from class javax.servlet.http.HttpServletResponseWrapper
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, sendError, sendError, sendRedirect, setDateHeader, setHeader, setIntHeader, setStatus, setStatus
 
Methods inherited from class javax.servlet.ServletResponseWrapper
flushBuffer, getBufferSize, getCharacterEncoding, getLocale, getOutputStream, getResponse, getWriter, isCommitted, reset, resetBuffer, setBufferSize, setContentLength, setContentType, setLocale, setResponse
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.servlet.ServletResponse
flushBuffer, getBufferSize, getCharacterEncoding, getLocale, getOutputStream, getWriter, isCommitted, reset, resetBuffer, setBufferSize, setContentLength, setContentType, setLocale
 

Constructor Detail

RequestParameterResponseWrapper

public RequestParameterResponseWrapper(javax.servlet.http.HttpServletResponse httpServletResponse)
Method Detail

encodeURL

public String encodeURL(String url)
Override the inherited behaviour to add to the url any query parameters that have been registered with the RequestParameterProviderManager.

Method ExternalContext.encodeActionURL will call this method. All JSF implementations should invoke that method in the NavigationHandler implementation (on redirect), the Form renderer and the commandLink renderer. This ensures that all the normal places that send urls back to the client browser will insert the appropriate query-params.

Note however that ExternalContext.redirect does *not* call this method. And neither does ViewHandler.getActionUrl(). Therefore custom code that uses redirect or emits "action urls" itself should call ExternalContext.encodeActionURL (which in turn invokes this method).

Specified by:
encodeURL in interface javax.servlet.http.HttpServletResponse
Overrides:
encodeURL in class javax.servlet.http.HttpServletResponseWrapper

encodeUrl

public String encodeUrl(String url)
Deprecated. 

Override deprecated form of this method, in case users call it.

The inherited implementation of this method calls super.encodeUrl(url) directly, which would bypass our custom code.

Specified by:
encodeUrl in interface javax.servlet.http.HttpServletResponse
Overrides:
encodeUrl in class javax.servlet.http.HttpServletResponseWrapper
Since:
1.1


Copyright © 2012 The Apache Software Foundation. All Rights Reserved.