org.springframework.extensions.surf.util
Class FakeHttpServletResponse

java.lang.Object
  extended by javax.servlet.ServletResponseWrapper
      extended by javax.servlet.http.HttpServletResponseWrapper
          extended by org.springframework.extensions.surf.util.FakeHttpServletResponse
All Implemented Interfaces:
javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse

public class FakeHttpServletResponse
extends javax.servlet.http.HttpServletResponseWrapper

Implementation of a Fake HttpServletResponse object which can be used to trap output from dispatched objects into a buffer and then deal with results at a later time. Useful for page caching or nested components where the output stream must be committed to real response at a undetermined point in the future.

Author:
muzquiano

Nested Class Summary
 class FakeHttpServletResponse.DelegatingServletOutputStream
          The Class DelegatingServletOutputStream.
 
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_FOUND, 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
FakeHttpServletResponse(javax.servlet.http.HttpServletResponse wrapped)
           
FakeHttpServletResponse(javax.servlet.http.HttpServletResponse wrapped, boolean fakeOutputStream)
           
 
Method Summary
 void addCookie(javax.servlet.http.Cookie cookie)
           
 void addDateHeader(String name, long value)
           
 void addHeader(String name, String value)
           
 void addIntHeader(String name, int value)
           
 boolean containsHeader(String name)
           
 String encodeRedirectUrl(String url)
           
 String encodeRedirectURL(String url)
           
 String encodeUrl(String url)
           
 String encodeURL(String url)
           
 void flushBuffer()
           
 int getBufferSize()
           
 String getCharacterEncoding()
           
 byte[] getContentAsByteArray()
          Gets the content as byte array.
 String getContentAsString()
          Gets the content as string.
 int getContentLength()
          Gets the content length.
 String getContentType()
           
 javax.servlet.http.Cookie getCookie(String name)
          Gets the cookie.
 javax.servlet.http.Cookie[] getCookies()
          Gets the cookies.
 String getErrorMessage()
          Gets the error message.
 String getForwardedUrl()
          Gets the forwarded url.
 Object getHeader(String name)
          Gets the header.
 Set getHeaderNames()
          Gets the header names.
 List getHeaders(String name)
          Gets the headers.
 String getIncludedUrl()
          Gets the included url.
 Locale getLocale()
           
 javax.servlet.ServletOutputStream getOutputStream()
           
 String getRedirectedUrl()
          Gets the redirected url.
 int getStatus()
          Gets the status.
 PrintWriter getWriter()
           
 boolean isCommitted()
           
 void reset()
           
 void resetBuffer()
           
 void sendError(int newStatus)
           
 void sendError(int newStatus, String newErrorMessage)
           
 void sendRedirect(String url)
           
 void setBufferSize(int bufferSize)
           
 void setCharacterEncoding(String characterEncoding)
           
 void setCommitted(boolean committed)
          Sets the committed.
 void setContentLength(int contentLength)
           
 void setContentType(String contentType)
           
 void setDateHeader(String name, long value)
           
 void setForwardedUrl(String forwardedUrl)
          Sets the forwarded url.
 void setHeader(String name, String value)
           
 void setIncludedUrl(String includedUrl)
          Sets the included url.
 void setIntHeader(String name, int value)
           
 void setLocale(Locale locale)
           
 void setStatus(int status)
           
 void setStatus(int status, String errorMessage)
           
 
Methods inherited from class javax.servlet.ServletResponseWrapper
getResponse, setResponse
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FakeHttpServletResponse

public FakeHttpServletResponse(javax.servlet.http.HttpServletResponse wrapped)

FakeHttpServletResponse

public FakeHttpServletResponse(javax.servlet.http.HttpServletResponse wrapped,
                               boolean fakeOutputStream)
Method Detail

setCharacterEncoding

public void setCharacterEncoding(String characterEncoding)
Specified by:
setCharacterEncoding in interface javax.servlet.ServletResponse
Overrides:
setCharacterEncoding in class javax.servlet.ServletResponseWrapper

getCharacterEncoding

public String getCharacterEncoding()
Specified by:
getCharacterEncoding in interface javax.servlet.ServletResponse
Overrides:
getCharacterEncoding in class javax.servlet.ServletResponseWrapper

getOutputStream

public javax.servlet.ServletOutputStream getOutputStream()
Specified by:
getOutputStream in interface javax.servlet.ServletResponse
Overrides:
getOutputStream in class javax.servlet.ServletResponseWrapper

getWriter

public PrintWriter getWriter()
                      throws UnsupportedEncodingException
Specified by:
getWriter in interface javax.servlet.ServletResponse
Overrides:
getWriter in class javax.servlet.ServletResponseWrapper
Throws:
UnsupportedEncodingException

flushBuffer

public void flushBuffer()
Specified by:
flushBuffer in interface javax.servlet.ServletResponse
Overrides:
flushBuffer in class javax.servlet.ServletResponseWrapper

sendError

public void sendError(int newStatus,
                      String newErrorMessage)
               throws IOException
Specified by:
sendError in interface javax.servlet.http.HttpServletResponse
Overrides:
sendError in class javax.servlet.http.HttpServletResponseWrapper
Throws:
IOException

sendError

public void sendError(int newStatus)
               throws IOException
Specified by:
sendError in interface javax.servlet.http.HttpServletResponse
Overrides:
sendError in class javax.servlet.http.HttpServletResponseWrapper
Throws:
IOException

getErrorMessage

public String getErrorMessage()
Gets the error message.

Returns:
the error message

sendRedirect

public void sendRedirect(String url)
                  throws IOException
Specified by:
sendRedirect in interface javax.servlet.http.HttpServletResponse
Overrides:
sendRedirect in class javax.servlet.http.HttpServletResponseWrapper
Throws:
IOException

getRedirectedUrl

public String getRedirectedUrl()
Gets the redirected url.

Returns:
the redirected url

setStatus

public void setStatus(int status)
Specified by:
setStatus in interface javax.servlet.http.HttpServletResponse
Overrides:
setStatus in class javax.servlet.http.HttpServletResponseWrapper

setStatus

public void setStatus(int status,
                      String errorMessage)
Specified by:
setStatus in interface javax.servlet.http.HttpServletResponse
Overrides:
setStatus in class javax.servlet.http.HttpServletResponseWrapper

getStatus

public int getStatus()
Gets the status.

Returns:
the status

getContentAsByteArray

public byte[] getContentAsByteArray()
Gets the content as byte array.

Returns:
the content as byte array

getContentAsString

public String getContentAsString()
                          throws UnsupportedEncodingException
Gets the content as string.

Returns:
the content as string
Throws:
UnsupportedEncodingException - the unsupported encoding exception

setContentLength

public void setContentLength(int contentLength)
Specified by:
setContentLength in interface javax.servlet.ServletResponse
Overrides:
setContentLength in class javax.servlet.ServletResponseWrapper

getContentLength

public int getContentLength()
Gets the content length.

Returns:
the content length

setContentType

public void setContentType(String contentType)
Specified by:
setContentType in interface javax.servlet.ServletResponse
Overrides:
setContentType in class javax.servlet.ServletResponseWrapper

getContentType

public String getContentType()
Specified by:
getContentType in interface javax.servlet.ServletResponse
Overrides:
getContentType in class javax.servlet.ServletResponseWrapper

setBufferSize

public void setBufferSize(int bufferSize)
Specified by:
setBufferSize in interface javax.servlet.ServletResponse
Overrides:
setBufferSize in class javax.servlet.ServletResponseWrapper

getBufferSize

public int getBufferSize()
Specified by:
getBufferSize in interface javax.servlet.ServletResponse
Overrides:
getBufferSize in class javax.servlet.ServletResponseWrapper

setCommitted

public void setCommitted(boolean committed)
Sets the committed.

Parameters:
committed - the new committed

isCommitted

public boolean isCommitted()
Specified by:
isCommitted in interface javax.servlet.ServletResponse
Overrides:
isCommitted in class javax.servlet.ServletResponseWrapper

resetBuffer

public void resetBuffer()
Specified by:
resetBuffer in interface javax.servlet.ServletResponse
Overrides:
resetBuffer in class javax.servlet.ServletResponseWrapper

reset

public void reset()
Specified by:
reset in interface javax.servlet.ServletResponse
Overrides:
reset in class javax.servlet.ServletResponseWrapper

setLocale

public void setLocale(Locale locale)
Specified by:
setLocale in interface javax.servlet.ServletResponse
Overrides:
setLocale in class javax.servlet.ServletResponseWrapper

getLocale

public Locale getLocale()
Specified by:
getLocale in interface javax.servlet.ServletResponse
Overrides:
getLocale in class javax.servlet.ServletResponseWrapper

addCookie

public void addCookie(javax.servlet.http.Cookie cookie)
Specified by:
addCookie in interface javax.servlet.http.HttpServletResponse
Overrides:
addCookie in class javax.servlet.http.HttpServletResponseWrapper

getCookies

public javax.servlet.http.Cookie[] getCookies()
Gets the cookies.

Returns:
the cookies

getCookie

public javax.servlet.http.Cookie getCookie(String name)
Gets the cookie.

Parameters:
name - the name
Returns:
the cookie

encodeUrl

public String encodeUrl(String url)
Specified by:
encodeUrl in interface javax.servlet.http.HttpServletResponse
Overrides:
encodeUrl in class javax.servlet.http.HttpServletResponseWrapper

encodeURL

public String encodeURL(String url)
Specified by:
encodeURL in interface javax.servlet.http.HttpServletResponse
Overrides:
encodeURL in class javax.servlet.http.HttpServletResponseWrapper

encodeRedirectUrl

public String encodeRedirectUrl(String url)
Specified by:
encodeRedirectUrl in interface javax.servlet.http.HttpServletResponse
Overrides:
encodeRedirectUrl in class javax.servlet.http.HttpServletResponseWrapper

encodeRedirectURL

public String encodeRedirectURL(String url)
Specified by:
encodeRedirectURL in interface javax.servlet.http.HttpServletResponse
Overrides:
encodeRedirectURL in class javax.servlet.http.HttpServletResponseWrapper

addHeader

public void addHeader(String name,
                      String value)
Specified by:
addHeader in interface javax.servlet.http.HttpServletResponse
Overrides:
addHeader in class javax.servlet.http.HttpServletResponseWrapper

setHeader

public void setHeader(String name,
                      String value)
Specified by:
setHeader in interface javax.servlet.http.HttpServletResponse
Overrides:
setHeader in class javax.servlet.http.HttpServletResponseWrapper

addDateHeader

public void addDateHeader(String name,
                          long value)
Specified by:
addDateHeader in interface javax.servlet.http.HttpServletResponse
Overrides:
addDateHeader in class javax.servlet.http.HttpServletResponseWrapper

setDateHeader

public void setDateHeader(String name,
                          long value)
Specified by:
setDateHeader in interface javax.servlet.http.HttpServletResponse
Overrides:
setDateHeader in class javax.servlet.http.HttpServletResponseWrapper

addIntHeader

public void addIntHeader(String name,
                         int value)
Specified by:
addIntHeader in interface javax.servlet.http.HttpServletResponse
Overrides:
addIntHeader in class javax.servlet.http.HttpServletResponseWrapper

setIntHeader

public void setIntHeader(String name,
                         int value)
Specified by:
setIntHeader in interface javax.servlet.http.HttpServletResponse
Overrides:
setIntHeader in class javax.servlet.http.HttpServletResponseWrapper

containsHeader

public boolean containsHeader(String name)
Specified by:
containsHeader in interface javax.servlet.http.HttpServletResponse
Overrides:
containsHeader in class javax.servlet.http.HttpServletResponseWrapper

getHeaderNames

public Set getHeaderNames()
Gets the header names.

Returns:
the header names

getHeader

public Object getHeader(String name)
Gets the header.

Parameters:
name - the name
Returns:
the header

getHeaders

public List getHeaders(String name)
Gets the headers.

Parameters:
name - the name
Returns:
the headers

setForwardedUrl

public void setForwardedUrl(String forwardedUrl)
Sets the forwarded url.

Parameters:
forwardedUrl - the new forwarded url

getForwardedUrl

public String getForwardedUrl()
Gets the forwarded url.

Returns:
the forwarded url

setIncludedUrl

public void setIncludedUrl(String includedUrl)
Sets the included url.

Parameters:
includedUrl - the new included url

getIncludedUrl

public String getIncludedUrl()
Gets the included url.

Returns:
the included url


Copyright © 2009 SpringSource, Inc. All Rights Reserved.