Package jakarta.servlet.http
Class HttpServletResponseWrapper
- java.lang.Object
-
- jakarta.servlet.ServletResponseWrapper
-
- jakarta.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 jakarta.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
Constructors Constructor Description HttpServletResponseWrapper(HttpServletResponse response)Constructs a response adaptor wrapping the given response.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddCookie(Cookie cookie)The default behavior of this method is to call addCookie(Cookie cookie) on the wrapped response object.voidaddDateHeader(String name, long date)The default behavior of this method is to call addDateHeader(String name, long date) on the wrapped response object.voidaddHeader(String name, String value)The default behavior of this method is to return addHeader(String name, String value) on the wrapped response object.voidaddIntHeader(String name, int value)The default behavior of this method is to call addIntHeader(String name, int value) on the wrapped response object.booleancontainsHeader(String name)The default behavior of this method is to call containsHeader(String name) on the wrapped response object.StringencodeRedirectURL(String url)The default behavior of this method is to return encodeRedirectURL(String url) on the wrapped response object.StringencodeURL(String url)The default behavior of this method is to call encodeURL(String url) on the wrapped response object.StringgetHeader(String name)The default behaviour of this method is to callHttpServletResponse.getHeader(java.lang.String)on the wrapped response object.Collection<String>getHeaderNames()The default behaviour of this method is to callHttpServletResponse.getHeaderNames()on the wrapped response object.Collection<String>getHeaders(String name)The default behaviour of this method is to callHttpServletResponse.getHeaders(java.lang.String)on the wrapped response object.intgetStatus()The default behaviour of this method is to callHttpServletResponse.getStatus()on the wrapped response object.Supplier<Map<String,String>>getTrailerFields()The default behaviour of this method is to callHttpServletResponse.getTrailerFields()on the wrapped response object.voidsendError(int sc)The default behavior of this method is to call sendError(int sc) on the wrapped response object.voidsendError(int sc, String msg)The default behavior of this method is to call sendError(int sc, String msg) on the wrapped response object.voidsendRedirect(String location)The default behavior of this method is to return sendRedirect(String location) on the wrapped response object.voidsetDateHeader(String name, long date)The default behavior of this method is to call setDateHeader(String name, long date) on the wrapped response object.voidsetHeader(String name, String value)The default behavior of this method is to return setHeader(String name, String value) on the wrapped response object.voidsetIntHeader(String name, int value)The default behavior of this method is to call setIntHeader(String name, int value) on the wrapped response object.voidsetStatus(int sc)The default behavior of this method is to call setStatus(int sc) on the wrapped response object.voidsetTrailerFields(Supplier<Map<String,String>> supplier)The default behaviour of this method is to callHttpServletResponse.setTrailerFields(java.util.function.Supplier<java.util.Map<java.lang.String, java.lang.String>>)on the wrapped response object.-
Methods inherited from class jakarta.servlet.ServletResponseWrapper
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getOutputStream, getResponse, getWriter, isCommitted, isWrapperFor, isWrapperFor, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, 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 jakarta.servlet.ServletResponse
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getOutputStream, getWriter, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale
-
-
-
-
Constructor Detail
-
HttpServletResponseWrapper
public HttpServletResponseWrapper(HttpServletResponse response)
Constructs a response adaptor wrapping the given response.- Parameters:
response- theHttpServletResponseto be wrapped.- Throws:
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:
addCookiein interfaceHttpServletResponse- Parameters:
cookie- the Cookie to return to the client
-
containsHeader
public boolean containsHeader(String name)
The default behavior of this method is to call containsHeader(String name) on the wrapped response object.- Specified by:
containsHeaderin interfaceHttpServletResponse- Parameters:
name- the header name- Returns:
trueif the named response header has already been set;falseotherwise
-
encodeURL
public String encodeURL(String url)
The default behavior of this method is to call encodeURL(String url) on the wrapped response object.- Specified by:
encodeURLin interfaceHttpServletResponse- Parameters:
url- the url to be encoded.- Returns:
- the encoded URL if encoding is needed; the unchanged URL otherwise.
-
encodeRedirectURL
public String encodeRedirectURL(String url)
The default behavior of this method is to return encodeRedirectURL(String url) on the wrapped response object.- Specified by:
encodeRedirectURLin interfaceHttpServletResponse- 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)
-
sendError
public void sendError(int sc, String msg) throws IOExceptionThe default behavior of this method is to call sendError(int sc, String msg) on the wrapped response object.- Specified by:
sendErrorin interfaceHttpServletResponse- Parameters:
sc- the error status codemsg- the descriptive message- Throws:
IOException- If an input or output exception occurs
-
sendError
public void sendError(int sc) throws IOExceptionThe default behavior of this method is to call sendError(int sc) on the wrapped response object.- Specified by:
sendErrorin interfaceHttpServletResponse- Parameters:
sc- the error status code- Throws:
IOException- If an input or output exception occurs
-
sendRedirect
public void sendRedirect(String location) throws IOException
The default behavior of this method is to return sendRedirect(String location) on the wrapped response object.- Specified by:
sendRedirectin interfaceHttpServletResponse- Parameters:
location- the redirect location URL- Throws:
IOException- If an input or output exception occurs
-
setDateHeader
public void setDateHeader(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:
setDateHeaderin interfaceHttpServletResponse- Parameters:
name- the name of the header to setdate- the assigned date value- See Also:
HttpServletResponse.containsHeader(java.lang.String),HttpServletResponse.addDateHeader(java.lang.String, long)
-
addDateHeader
public void addDateHeader(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:
addDateHeaderin interfaceHttpServletResponse- Parameters:
name- the name of the header to setdate- the additional date value- See Also:
HttpServletResponse.setDateHeader(java.lang.String, long)
-
setHeader
public void setHeader(String name, String value)
The default behavior of this method is to return setHeader(String name, String value) on the wrapped response object.- Specified by:
setHeaderin interfaceHttpServletResponse- Parameters:
name- the name of the headervalue- 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(String name, String value)
The default behavior of this method is to return addHeader(String name, String value) on the wrapped response object.- Specified by:
addHeaderin interfaceHttpServletResponse- Parameters:
name- the name of the headervalue- 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(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:
setIntHeaderin interfaceHttpServletResponse- Parameters:
name- the name of the headervalue- the assigned integer value- See Also:
HttpServletResponse.containsHeader(java.lang.String),HttpServletResponse.addIntHeader(java.lang.String, int)
-
addIntHeader
public void addIntHeader(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:
addIntHeaderin interfaceHttpServletResponse- Parameters:
name- the name of the headervalue- 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:
setStatusin interfaceHttpServletResponse- Parameters:
sc- the status code- See Also:
HttpServletResponse.sendError(int, java.lang.String)
-
getStatus
public int getStatus()
The default behaviour of this method is to callHttpServletResponse.getStatus()on the wrapped response object.- Specified by:
getStatusin interfaceHttpServletResponse- Returns:
- the current status code of the wrapped response
- Since:
- Servlet 3.0
-
getHeader
public String getHeader(String name)
The default behaviour of this method is to callHttpServletResponse.getHeader(java.lang.String)on the wrapped response object.- Specified by:
getHeaderin interfaceHttpServletResponse- 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 Collection<String> getHeaders(String name)
The default behaviour of this method is to callHttpServletResponse.getHeaders(java.lang.String)on the wrapped response object.Any changes to the returned
Collectionmust not affect thisHttpServletResponseWrapper.- Specified by:
getHeadersin interfaceHttpServletResponse- Parameters:
name- the name of the response header whose values to return- Returns:
- a (possibly empty)
Collectionof the values of the response header with the given name - Since:
- Servlet 3.0
-
getHeaderNames
public Collection<String> getHeaderNames()
The default behaviour of this method is to callHttpServletResponse.getHeaderNames()on the wrapped response object.Any changes to the returned
Collectionmust not affect thisHttpServletResponseWrapper.- Specified by:
getHeaderNamesin interfaceHttpServletResponse- Returns:
- a (possibly empty)
Collectionof the names of the response headers - Since:
- Servlet 3.0
-
setTrailerFields
public void setTrailerFields(Supplier<Map<String,String>> supplier)
The default behaviour of this method is to callHttpServletResponse.setTrailerFields(java.util.function.Supplier<java.util.Map<java.lang.String, java.lang.String>>)on the wrapped response object.- Specified by:
setTrailerFieldsin interfaceHttpServletResponse- Parameters:
supplier- of trailer headers- Since:
- Servlet 4.0
-
getTrailerFields
public Supplier<Map<String,String>> getTrailerFields()
The default behaviour of this method is to callHttpServletResponse.getTrailerFields()on the wrapped response object.- Specified by:
getTrailerFieldsin interfaceHttpServletResponse- Returns:
- supplier of trailer headers
- Since:
- Servlet 4.0
-
-