Package org.apache.tapestry5.util
Class ResponseWrapper
- java.lang.Object
-
- org.apache.tapestry5.util.ResponseWrapper
-
- All Implemented Interfaces:
Response
public class ResponseWrapper extends Object implements Response
Implementation ofResponse
that delegates all method invocations to a delegate instance. This is used as a base class for overriding just some behaviors of Response.
-
-
Constructor Summary
Constructors Constructor Description ResponseWrapper(Response response)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addHeader(String name, String value)
Adds a response header with the given name and value, not overwriting any previous values which may have already been added.void
disableCompression()
Invoked to indicate that the response content is either already compressed, or is not compressable.String
encodeRedirectURL(String URL)
Encodes the URL for use as a redirect, ensuring that a session id is included (if a session exists, and as necessary depending on the client browser's use of cookies).String
encodeURL(String URL)
Encodes the URL, ensuring that a session id is included (if a session exists, and as necessary depending on the client browser's use of cookies).OutputStream
getOutputStream(String contentType)
Returns an OutputStream to which byte-oriented output may be sent.PrintWriter
getPrintWriter(String contentType)
Returns a PrintWriter object to which output may be sent.boolean
isCommitted()
Returns true if the response has already been sent, either as a redirect or as a stream of content.void
sendError(int sc, String message)
Sends an error response to the client using the specified status.void
sendRedirect(String URL)
Sends a redirect to the client.void
sendRedirect(Link link)
Sends a redirect to a link.void
setContentLength(int length)
Sets the length of the content body in the response; this method sets the HTTP Content-Length header.void
setDateHeader(String name, long date)
Sets a response header with the given name and date-value.void
setHeader(String name, String value)
Sets a response header with the given name and value.void
setIntHeader(String name, int value)
Sets a response header with the given name and integer value.void
setStatus(int sc)
Sets the status code for this response.
-
-
-
Constructor Detail
-
ResponseWrapper
public ResponseWrapper(Response response)
-
-
Method Detail
-
getPrintWriter
public PrintWriter getPrintWriter(String contentType) throws IOException
Description copied from interface:Response
Returns a PrintWriter object to which output may be sent. Invoking flush() on the writer will commit the output.- Specified by:
getPrintWriter
in interfaceResponse
- Parameters:
contentType
- the MIME content type for the output, typically "text/html"- Throws:
IOException
-
getOutputStream
public OutputStream getOutputStream(String contentType) throws IOException
Description copied from interface:Response
Returns an OutputStream to which byte-oriented output may be sent. Invoking flush() on the stream will commit the output.- Specified by:
getOutputStream
in interfaceResponse
- Parameters:
contentType
- the MIME content type for the output, often "application/octet-stream" or "text/plain" or one of several others- Throws:
IOException
-
sendRedirect
public void sendRedirect(String URL) throws IOException
Description copied from interface:Response
Sends a redirect to the client.- Specified by:
sendRedirect
in interfaceResponse
- Parameters:
URL
- full or partial (relative) URL to send to the client- Throws:
IOException
- See Also:
Response.encodeRedirectURL(String)
-
sendRedirect
public void sendRedirect(Link link) throws IOException
Description copied from interface:Response
Sends a redirect to a link.- Specified by:
sendRedirect
in interfaceResponse
- Parameters:
link
- link to redirect to.- Throws:
IOException
-
setStatus
public void setStatus(int sc)
Description copied from interface:Response
Sets the status code for this response. This method is used to set the return status code when there is no error (for example, for the status codes SC_OK or SC_MOVED_TEMPORARILY). If there is an error, and the caller wishes to invoke an error-page defined in the web applicaion, thesendError
method should be used instead.
-
sendError
public void sendError(int sc, String message) throws IOException
Description copied from interface:Response
Sends an error response to the client using the specified status. The server defaults to creating the response to look like an HTML-formatted server error page containing the specified message, setting the content type to "text/html", leaving cookies and other headers unmodified. If an error-page declaration has been made for the web application corresponding to the status code passed in, it will be served back in preference to the suggested msg parameter. If the response has already been committed, this method throws an IllegalStateException. After using this method, the response should be considered to be committed and should not be written to.- Specified by:
sendError
in interfaceResponse
- Parameters:
sc
- the error status codemessage
- the descriptive message- Throws:
IOException
- If an input or output exception occurs
-
setContentLength
public void setContentLength(int length)
Description copied from interface:Response
Sets the length of the content body in the response; this method sets the HTTP Content-Length header.- Specified by:
setContentLength
in interfaceResponse
- Parameters:
length
- the length of the content
-
setDateHeader
public void setDateHeader(String name, long date)
Description copied from interface:Response
Sets a response header with the given name and date-value. The date is specified in terms of milliseconds since the epoch. If the header had already been set, the new value overwrites the previous one.- Specified by:
setDateHeader
in interfaceResponse
- Parameters:
name
- the name of the header to setdate
- the assigned date value
-
setHeader
public void setHeader(String name, String value)
Description copied from interface:Response
Sets a response header with the given name and value. If the header had already been set, the new value overwrites the previous one.
-
addHeader
public void addHeader(String name, String value)
Description copied from interface:Response
Adds a response header with the given name and value, not overwriting any previous values which may have already been added.
-
setIntHeader
public void setIntHeader(String name, int value)
Description copied from interface:Response
Sets a response header with the given name and integer value. If the header had already been set, the new value overwrites the previous one.- Specified by:
setIntHeader
in interfaceResponse
- Parameters:
name
- the name of the header to setvalue
- the assigned integer value
-
encodeURL
public String encodeURL(String URL)
Description copied from interface:Response
Encodes the URL, ensuring that a session id is included (if a session exists, and as necessary depending on the client browser's use of cookies).
-
encodeRedirectURL
public String encodeRedirectURL(String URL)
Description copied from interface:Response
Encodes the URL for use as a redirect, ensuring that a session id is included (if a session exists, and as necessary depending on the client browser's use of cookies).- Specified by:
encodeRedirectURL
in interfaceResponse
- Returns:
- the same URL or a different one with additional information to track the user session
-
isCommitted
public boolean isCommitted()
Description copied from interface:Response
Returns true if the response has already been sent, either as a redirect or as a stream of content.- Specified by:
isCommitted
in interfaceResponse
- Returns:
- true if response already sent
-
disableCompression
public void disableCompression()
Description copied from interface:Response
Invoked to indicate that the response content is either already compressed, or is not compressable.- Specified by:
disableCompression
in interfaceResponse
-
-