Class TestableResponseImpl
- java.lang.Object
-
- org.apache.tapestry5.internal.test.TestableResponseImpl
-
- All Implemented Interfaces:
Response
,TestableResponse
public class TestableResponseImpl extends Object implements TestableResponse
-
-
Constructor Summary
Constructors Constructor Description TestableResponseImpl()
-
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
clear()
Clears internal state, in preparation for the next test.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).int
getContentLength()
String
getContentType()
Returns the the MIME content type for the output.String
getErrorMessage()
Returns the error message, if available.Object
getHeader(String name)
Returns the named header.List<?>
getHeaders(String name)
Returns the values of a named header.String
getOutput()
Returns the content of theServletOutputStream
as string.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.Link
getRedirectLink()
Returns the link redirected to viaResponse.sendRedirect(org.apache.tapestry5.http.Link)
.String
getRedirectURL()
Returns the redirect URL.Document
getRenderedDocument()
Allows access to the rendered document.int
getStatus()
Returns the status code for this response.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
setRenderedDocument(Document document)
Invoked as part of the rendering pipeline to store the final rendered Document object.void
setStatus(int sc)
Sets the status code for this response.
-
-
-
Constructor Detail
-
TestableResponseImpl
public TestableResponseImpl()
-
-
Method Detail
-
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
-
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
-
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
-
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)
-
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.
-
getHeaders
public List<?> getHeaders(String name)
Description copied from interface:TestableResponse
Returns the values of a named header.- Specified by:
getHeaders
in interfaceTestableResponse
-
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
-
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.
-
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
-
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).
-
getRedirectLink
public Link getRedirectLink()
Description copied from interface:TestableResponse
Returns the link redirected to viaResponse.sendRedirect(org.apache.tapestry5.http.Link)
.- Specified by:
getRedirectLink
in interfaceTestableResponse
-
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
-
clear
public void clear()
Description copied from interface:TestableResponse
Clears internal state, in preparation for the next test.- Specified by:
clear
in interfaceTestableResponse
-
getRenderedDocument
public Document getRenderedDocument()
Description copied from interface:TestableResponse
Allows access to the rendered document.- Specified by:
getRenderedDocument
in interfaceTestableResponse
-
setRenderedDocument
public void setRenderedDocument(Document document)
Description copied from interface:TestableResponse
Invoked as part of the rendering pipeline to store the final rendered Document object.- Specified by:
setRenderedDocument
in interfaceTestableResponse
-
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
-
getHeader
public Object getHeader(String name)
Description copied from interface:TestableResponse
Returns the named header.- Specified by:
getHeader
in interfaceTestableResponse
-
getRedirectURL
public String getRedirectURL()
Description copied from interface:TestableResponse
Returns the redirect URL.- Specified by:
getRedirectURL
in interfaceTestableResponse
-
getStatus
public int getStatus()
Description copied from interface:TestableResponse
Returns the status code for this response.- Specified by:
getStatus
in interfaceTestableResponse
-
getErrorMessage
public String getErrorMessage()
Description copied from interface:TestableResponse
Returns the error message, if available.- Specified by:
getErrorMessage
in interfaceTestableResponse
-
getContentLength
public int getContentLength()
-
getContentType
public String getContentType()
Description copied from interface:TestableResponse
Returns the the MIME content type for the output.- Specified by:
getContentType
in interfaceTestableResponse
-
getOutput
public String getOutput()
Description copied from interface:TestableResponse
Returns the content of theServletOutputStream
as string.- Specified by:
getOutput
in interfaceTestableResponse
-
-