org.directwebremoting.util
Class SwallowingHttpServletResponse

java.lang.Object
  extended by HttpServletResponseWrapper
      extended by org.directwebremoting.util.SwallowingHttpServletResponse

public final class SwallowingHttpServletResponse
extends HttpServletResponseWrapper

Used by ExecutionContext to forward results back via javascript.

We could like to implement HttpServletResponse, but there is a bug in WebLogic where it casts to a HttpServletResponseWrapper so we need to extend that.

Author:
Joe Walker [joe at getahead dot ltd dot uk]

Constructor Summary
SwallowingHttpServletResponse(HttpServletResponse response, java.io.Writer sout, java.lang.String characterEncoding)
          Create a new HttpServletResponse that allows you to catch the body
 
Method Summary
 void addCookie(Cookie cookie)
           
 void addDateHeader(java.lang.String name, long value)
           
 void addHeader(java.lang.String name, java.lang.String value)
           
 void addIntHeader(java.lang.String name, int value)
           
 boolean containsHeader(java.lang.String name)
           
 java.lang.String encodeRedirectUrl(java.lang.String url)
           
 java.lang.String encodeRedirectURL(java.lang.String url)
           
 java.lang.String encodeUrl(java.lang.String url)
           
 java.lang.String encodeURL(java.lang.String url)
           
 void flushBuffer()
           
 int getBufferSize()
           
 java.lang.String getCharacterEncoding()
           
 java.lang.String getContentType()
           
 java.lang.String getErrorMessage()
          Accessor for any error messages set using sendError(int) or sendError(int, String)
 java.util.Locale getLocale()
           
 ServletOutputStream getOutputStream()
           
 java.lang.String getRedirectedUrl()
          Accessor for the redirect URL set using sendRedirect(String)
 int getStatus()
          What HTTP status code should be returned?
 java.io.PrintWriter getWriter()
           
 boolean isCommitted()
           
 void reset()
           
 void resetBuffer()
           
 void sendError(int newStatus)
           
 void sendError(int newStatus, java.lang.String newErrorMessage)
           
 void sendRedirect(java.lang.String location)
           
 void setBufferSize(int bufferSize)
           
 void setCharacterEncoding(java.lang.String characterEncoding)
           
 void setContentLength(int i)
           
 void setContentType(java.lang.String contentType)
           
 void setDateHeader(java.lang.String name, long value)
           
 void setHeader(java.lang.String name, java.lang.String value)
           
 void setIntHeader(java.lang.String name, int value)
           
 void setLocale(java.util.Locale locale)
           
 void setStatus(int status)
           
 void setStatus(int newStatus, java.lang.String newErrorMessage)
          Deprecated.  
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SwallowingHttpServletResponse

public SwallowingHttpServletResponse(HttpServletResponse response,
                                     java.io.Writer sout,
                                     java.lang.String characterEncoding)
Create a new HttpServletResponse that allows you to catch the body

Parameters:
response - The original HttpServletResponse
sout - The place we copy responses to
characterEncoding - The output encoding
Method Detail

addCookie

public void addCookie(Cookie cookie)

addDateHeader

public void addDateHeader(java.lang.String name,
                          long value)

addHeader

public void addHeader(java.lang.String name,
                      java.lang.String value)

addIntHeader

public void addIntHeader(java.lang.String name,
                         int value)

containsHeader

public boolean containsHeader(java.lang.String name)

encodeRedirectUrl

public java.lang.String encodeRedirectUrl(java.lang.String url)

encodeRedirectURL

public java.lang.String encodeRedirectURL(java.lang.String url)

encodeUrl

public java.lang.String encodeUrl(java.lang.String url)

encodeURL

public java.lang.String encodeURL(java.lang.String url)

flushBuffer

public void flushBuffer()
                 throws java.io.IOException
Throws:
java.io.IOException

getBufferSize

public int getBufferSize()

getCharacterEncoding

public java.lang.String getCharacterEncoding()

getContentType

public java.lang.String getContentType()
Returns:
The MIME type of the content
See Also:
javax.servlet.ServletResponse#setContentType(String)

getErrorMessage

public java.lang.String getErrorMessage()
Accessor for any error messages set using sendError(int) or sendError(int, String)

Returns:
The current error message

getLocale

public java.util.Locale getLocale()

getOutputStream

public ServletOutputStream getOutputStream()

getRedirectedUrl

public java.lang.String getRedirectedUrl()
Accessor for the redirect URL set using sendRedirect(String)

Returns:
The redirect URL

getStatus

public int getStatus()
What HTTP status code should be returned?

Returns:
The current http status code

getWriter

public java.io.PrintWriter getWriter()

isCommitted

public boolean isCommitted()

reset

public void reset()

resetBuffer

public void resetBuffer()

sendError

public void sendError(int newStatus)

sendError

public void sendError(int newStatus,
                      java.lang.String newErrorMessage)

sendRedirect

public void sendRedirect(java.lang.String location)

setBufferSize

public void setBufferSize(int bufferSize)

setCharacterEncoding

public void setCharacterEncoding(java.lang.String characterEncoding)
Parameters:
characterEncoding - The new encoding to use for response strings
See Also:
javax.servlet.ServletResponseWrapper#getCharacterEncoding()

setContentLength

public void setContentLength(int i)

setContentType

public void setContentType(java.lang.String contentType)

setDateHeader

public void setDateHeader(java.lang.String name,
                          long value)

setHeader

public void setHeader(java.lang.String name,
                      java.lang.String value)

setIntHeader

public void setIntHeader(java.lang.String name,
                         int value)

setLocale

public void setLocale(java.util.Locale locale)

setStatus

public void setStatus(int status)

setStatus

public void setStatus(int newStatus,
                      java.lang.String newErrorMessage)
Deprecated. 

See Also:
javax.servlet.http.HttpServletResponse#setStatus(int, java.lang.String)