javax.servlet.http
Class HttpServletResponseWrapper

java.lang.Object
  extended by javax.servlet.ServletResponseWrapper
      extended by javax.servlet.http.HttpServletResponseWrapper
All Implemented Interfaces:
HttpServletResponse, ServletResponse

public class HttpServletResponseWrapper
extends ServletResponseWrapper
implements HttpServletResponse

Provides a convenient implementation of the HttpServletResponse interface that can be subclassed by developers wishing to adapt the response from a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped response object.

Since:
Servlet 2.3
Author:
Various
See Also:
HttpServletResponse

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
HttpServletResponseWrapper(HttpServletResponse response)
          Constructs a response adaptor wrapping the given response.
 
Method Summary
 void addCookie(Cookie cookie)
          The default behavior of this method is to call addCookie(Cookie cookie) on the wrapped response object.
 void addDateHeader(java.lang.String name, long date)
          The default behavior of this method is to call addDateHeader(String name, long date) on the wrapped response object.
 void addHeader(java.lang.String name, java.lang.String value)
          The default behavior of this method is to return addHeader(String name, String value) on the wrapped response object.
 void addIntHeader(java.lang.String name, int value)
          The default behavior of this method is to call addIntHeader(String name, int value) on the wrapped response object.
 boolean containsHeader(java.lang.String name)
          The default behavior of this method is to call containsHeader(String name) on the wrapped response object.
 java.lang.String encodeRedirectUrl(java.lang.String url)
          Deprecated. As of version 2.1, use encodeRedirectURL(String url) instead
 java.lang.String encodeRedirectURL(java.lang.String url)
          The default behavior of this method is to return encodeRedirectURL(String url) on the wrapped response object.
 java.lang.String encodeUrl(java.lang.String url)
          Deprecated. As of version 2.1, use encodeURL(String url) instead
 java.lang.String encodeURL(java.lang.String url)
          The default behavior of this method is to call encodeURL(String url) on the wrapped response object.
 java.lang.String getHeader(java.lang.String name)
          The default behaviour of this method is to call HttpServletResponse#getHeader on the wrapped response object.
 java.util.Collection<java.lang.String> getHeaderNames()
          The default behaviour of this method is to call HttpServletResponse#getHeaderNames on the wrapped response object.
 java.util.Collection<java.lang.String> getHeaders(java.lang.String name)
          The default behaviour of this method is to call HttpServletResponse#getHeaders on the wrapped response object.
 int getStatus()
          The default behaviour of this method is to call HttpServletResponse#getStatus on the wrapped response object.
 void sendError(int sc)
          The default behavior of this method is to call sendError(int sc) on the wrapped response object.
 void sendError(int sc, java.lang.String msg)
          The default behavior of this method is to call sendError(int sc, String msg) on the wrapped response object.
 void sendRedirect(java.lang.String location)
          The default behavior of this method is to return sendRedirect(String location) on the wrapped response object.
 void setDateHeader(java.lang.String name, long date)
          The default behavior of this method is to call setDateHeader(String name, long date) on the wrapped response object.
 void setHeader(java.lang.String name, java.lang.String value)
          The default behavior of this method is to return setHeader(String name, String value) on the wrapped response object.
 void setIntHeader(java.lang.String name, int value)
          The default behavior of this method is to call setIntHeader(String name, int value) on the wrapped response object.
 void setStatus(int sc)
          The default behavior of this method is to call setStatus(int sc) on the wrapped response object.
 void setStatus(int sc, java.lang.String sm)
          Deprecated. As of version 2.1, due to ambiguous meaning of the message parameter. To set a status code use setStatus(int), to send an error with a description use sendError(int, String)
 
Methods inherited from class javax.servlet.ServletResponseWrapper
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getOutputStream, getResponse, getWriter, isCommitted, isWrapperFor, isWrapperFor, reset, resetBuffer, setBufferSize, setCharacterEncoding, 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, getContentType, getLocale, getOutputStream, getWriter, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentType, setLocale
 

Constructor Detail

HttpServletResponseWrapper

public HttpServletResponseWrapper(HttpServletResponse response)
Constructs a response adaptor wrapping the given response.

Throws:
java.lang.IllegalArgumentException - if the response is null
Method Detail

addCookie

public void addCookie(Cookie cookie)
The default behavior of this method is to call addCookie(Cookie cookie) on the wrapped response object.

Specified by:
addCookie in interface HttpServletResponse
Parameters:
cookie - the Cookie to return to the client

containsHeader

public boolean containsHeader(java.lang.String name)
The default behavior of this method is to call containsHeader(String name) on the wrapped response object.

Specified by:
containsHeader in interface HttpServletResponse
Parameters:
name - the header name
Returns:
true if the named response header has already been set; false otherwise

encodeURL

public java.lang.String encodeURL(java.lang.String url)
The default behavior of this method is to call encodeURL(String url) on the wrapped response object.

Specified by:
encodeURL in interface HttpServletResponse
Parameters:
url - the url to be encoded.
Returns:
the encoded URL if encoding is needed; the unchanged URL otherwise.

encodeRedirectURL

public java.lang.String encodeRedirectURL(java.lang.String url)
The default behavior of this method is to return encodeRedirectURL(String url) on the wrapped response object.

Specified by:
encodeRedirectURL in interface HttpServletResponse
Parameters:
url - the url to be encoded.
Returns:
the encoded URL if encoding is needed; the unchanged URL otherwise.
See Also:
HttpServletResponse.sendRedirect(java.lang.String), HttpServletResponse.encodeUrl(java.lang.String)

encodeUrl

public java.lang.String encodeUrl(java.lang.String url)
Deprecated. As of version 2.1, use encodeURL(String url) instead

The default behavior of this method is to call encodeUrl(String url) on the wrapped response object.

Specified by:
encodeUrl in interface HttpServletResponse
Parameters:
url - the url to be encoded.
Returns:
the encoded URL if encoding is needed; the unchanged URL otherwise.

encodeRedirectUrl

public java.lang.String encodeRedirectUrl(java.lang.String url)
Deprecated. As of version 2.1, use encodeRedirectURL(String url) instead

The default behavior of this method is to return encodeRedirectUrl(String url) on the wrapped response object.

Specified by:
encodeRedirectUrl in interface HttpServletResponse
Parameters:
url - the url to be encoded.
Returns:
the encoded URL if encoding is needed; the unchanged URL otherwise.

sendError

public void sendError(int sc,
                      java.lang.String msg)
               throws java.io.IOException
The default behavior of this method is to call sendError(int sc, String msg) on the wrapped response object.

Specified by:
sendError in interface HttpServletResponse
Parameters:
sc - the error status code
msg - the descriptive message
Throws:
java.io.IOException - If an input or output exception occurs

sendError

public void sendError(int sc)
               throws java.io.IOException
The default behavior of this method is to call sendError(int sc) on the wrapped response object.

Specified by:
sendError in interface HttpServletResponse
Parameters:
sc - the error status code
Throws:
java.io.IOException - If an input or output exception occurs

sendRedirect

public void sendRedirect(java.lang.String location)
                  throws java.io.IOException
The default behavior of this method is to return sendRedirect(String location) on the wrapped response object.

Specified by:
sendRedirect in interface HttpServletResponse
Parameters:
location - the redirect location URL
Throws:
java.io.IOException - If an input or output exception occurs

setDateHeader

public void setDateHeader(java.lang.String name,
                          long date)
The default behavior of this method is to call setDateHeader(String name, long date) on the wrapped response object.

Specified by:
setDateHeader in interface HttpServletResponse
Parameters:
name - the name of the header to set
date - the assigned date value
See Also:
HttpServletResponse.containsHeader(java.lang.String), HttpServletResponse.addDateHeader(java.lang.String, long)

addDateHeader

public void addDateHeader(java.lang.String name,
                          long date)
The default behavior of this method is to call addDateHeader(String name, long date) on the wrapped response object.

Specified by:
addDateHeader in interface HttpServletResponse
Parameters:
name - the name of the header to set
date - the additional date value
See Also:
HttpServletResponse.setDateHeader(java.lang.String, long)

setHeader

public void setHeader(java.lang.String name,
                      java.lang.String value)
The default behavior of this method is to return setHeader(String name, String value) on the wrapped response object.

Specified by:
setHeader in interface HttpServletResponse
Parameters:
name - the name of the header
value - the header value If it contains octet string, it should be encoded according to RFC 2047 (http://www.ietf.org/rfc/rfc2047.txt)
See Also:
HttpServletResponse.containsHeader(java.lang.String), HttpServletResponse.addHeader(java.lang.String, java.lang.String)

addHeader

public void addHeader(java.lang.String name,
                      java.lang.String value)
The default behavior of this method is to return addHeader(String name, String value) on the wrapped response object.

Specified by:
addHeader in interface HttpServletResponse
Parameters:
name - the name of the header
value - the additional header value If it contains octet string, it should be encoded according to RFC 2047 (http://www.ietf.org/rfc/rfc2047.txt)
See Also:
HttpServletResponse.setHeader(java.lang.String, java.lang.String)

setIntHeader

public void setIntHeader(java.lang.String name,
                         int value)
The default behavior of this method is to call setIntHeader(String name, int value) on the wrapped response object.

Specified by:
setIntHeader in interface HttpServletResponse
Parameters:
name - the name of the header
value - the assigned integer value
See Also:
HttpServletResponse.containsHeader(java.lang.String), HttpServletResponse.addIntHeader(java.lang.String, int)

addIntHeader

public void addIntHeader(java.lang.String name,
                         int value)
The default behavior of this method is to call addIntHeader(String name, int value) on the wrapped response object.

Specified by:
addIntHeader in interface HttpServletResponse
Parameters:
name - the name of the header
value - the assigned integer value
See Also:
HttpServletResponse.setIntHeader(java.lang.String, int)

setStatus

public void setStatus(int sc)
The default behavior of this method is to call setStatus(int sc) on the wrapped response object.

Specified by:
setStatus in interface HttpServletResponse
Parameters:
sc - the status code
See Also:
HttpServletResponse.sendError(int, java.lang.String)

setStatus

public void setStatus(int sc,
                      java.lang.String sm)
Deprecated. As of version 2.1, due to ambiguous meaning of the message parameter. To set a status code use setStatus(int), to send an error with a description use sendError(int, String)

The default behavior of this method is to call setStatus(int sc, String sm) on the wrapped response object.

Specified by:
setStatus in interface HttpServletResponse
Parameters:
sc - the status code
sm - the status message

getStatus

public int getStatus()
The default behaviour of this method is to call HttpServletResponse#getStatus on the wrapped response object.

Specified by:
getStatus in interface HttpServletResponse
Returns:
the current status code of the wrapped response

getHeader

public java.lang.String getHeader(java.lang.String name)
The default behaviour of this method is to call HttpServletResponse#getHeader on the wrapped response object.

Specified by:
getHeader in interface HttpServletResponse
Parameters:
name - the name of the response header whose value to return
Returns:
the value of the response header with the given name, or null if no header with the given name has been set on the wrapped response
Since:
Servlet 3.0

getHeaders

public java.util.Collection<java.lang.String> getHeaders(java.lang.String name)
The default behaviour of this method is to call HttpServletResponse#getHeaders on the wrapped response object.

Any changes to the returned Collection must not affect this HttpServletResponseWrapper.

Specified by:
getHeaders in interface HttpServletResponse
Parameters:
name - the name of the response header whose values to return
Returns:
a (possibly empty) Collection of the values of the response header with the given name
Since:
Servlet 3.0

getHeaderNames

public java.util.Collection<java.lang.String> getHeaderNames()
The default behaviour of this method is to call HttpServletResponse#getHeaderNames on the wrapped response object.

Any changes to the returned Collection must not affect this HttpServletResponseWrapper.

Specified by:
getHeaderNames in interface HttpServletResponse
Returns:
a (possibly empty) Collection of the names of the response headers
Since:
Servlet 3.0


Submit a bug or feature

Copyright © 2009, 2010, Oracle Corporation and/or its affiliates. All Rights Reserved. Use is subject to license terms.

Generated on 4-June-2010 04:34