|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjavax.servlet.ServletResponseWrapper
javax.servlet.http.HttpServletResponseWrapper
com.opensymphony.module.sitemesh.filter.PageResponseWrapper
public class PageResponseWrapper
Implementation of HttpServletResponseWrapper that captures page data instead of sending to the writer.
Should be used in filter-chains or when forwarding/including pages using a RequestDispatcher.
| Field Summary | |
|---|---|
private boolean |
aborted
|
private Buffer |
buffer
|
private boolean |
parseablePage
|
private PageParserSelector |
parserSelector
|
private RoutablePrintWriter |
routablePrintWriter
|
private RoutableServletOutputStream |
routableServletOutputStream
|
| 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 | |
|---|---|
PageResponseWrapper(javax.servlet.http.HttpServletResponse response,
PageParserSelector parserSelector)
|
|
| Method Summary | |
|---|---|
void |
activateSiteMesh(java.lang.String contentType,
java.lang.String encoding)
|
void |
addHeader(java.lang.String name,
java.lang.String value)
Prevent content-length being set if page is parseable. |
private void |
deactivateSiteMesh()
|
void |
flushBuffer()
Prevent buffer from being flushed if this is a page being parsed. |
char[] |
getContents()
|
javax.servlet.ServletOutputStream |
getOutputStream()
|
Page |
getPage()
|
java.io.PrintWriter |
getWriter()
|
boolean |
isUsingStream()
|
void |
sendError(int sc)
|
void |
sendError(int sc,
java.lang.String msg)
|
void |
sendRedirect(java.lang.String location)
|
void |
setContentLength(int contentLength)
Prevent content-length being set if page is parseable. |
void |
setContentType(java.lang.String type)
Set the content-type of the request and store it so it can be passed to the PageParser. |
void |
setHeader(java.lang.String name,
java.lang.String value)
Prevent content-length being set if page is parseable. |
void |
setStatus(int sc)
If 'not modified' (304) HTTP status is being sent - then abort parsing, as there shouldn't be any body |
| Methods inherited from class javax.servlet.http.HttpServletResponseWrapper |
|---|
addCookie, addDateHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, setDateHeader, setIntHeader, setStatus |
| Methods inherited from class javax.servlet.ServletResponseWrapper |
|---|
getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, 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 |
|---|
getBufferSize, getCharacterEncoding, getContentType, getLocale, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setLocale |
| Field Detail |
|---|
private final RoutablePrintWriter routablePrintWriter
private final RoutableServletOutputStream routableServletOutputStream
private final PageParserSelector parserSelector
private Buffer buffer
private boolean aborted
private boolean parseablePage
| Constructor Detail |
|---|
public PageResponseWrapper(javax.servlet.http.HttpServletResponse response,
PageParserSelector parserSelector)
| Method Detail |
|---|
public void setContentType(java.lang.String type)
PageParser.
setContentType in interface javax.servlet.ServletResponsesetContentType in class javax.servlet.ServletResponseWrapper
public void activateSiteMesh(java.lang.String contentType,
java.lang.String encoding)
private void deactivateSiteMesh()
public void setContentLength(int contentLength)
setContentLength in interface javax.servlet.ServletResponsesetContentLength in class javax.servlet.ServletResponseWrapper
public void flushBuffer()
throws java.io.IOException
flushBuffer in interface javax.servlet.ServletResponseflushBuffer in class javax.servlet.ServletResponseWrapperjava.io.IOException
public void setHeader(java.lang.String name,
java.lang.String value)
setHeader in interface javax.servlet.http.HttpServletResponsesetHeader in class javax.servlet.http.HttpServletResponseWrapper
public void addHeader(java.lang.String name,
java.lang.String value)
addHeader in interface javax.servlet.http.HttpServletResponseaddHeader in class javax.servlet.http.HttpServletResponseWrapperpublic void setStatus(int sc)
setStatus in interface javax.servlet.http.HttpServletResponsesetStatus in class javax.servlet.http.HttpServletResponseWrapperpublic javax.servlet.ServletOutputStream getOutputStream()
getOutputStream in interface javax.servlet.ServletResponsegetOutputStream in class javax.servlet.ServletResponseWrapperpublic java.io.PrintWriter getWriter()
getWriter in interface javax.servlet.ServletResponsegetWriter in class javax.servlet.ServletResponseWrapper
public Page getPage()
throws java.io.IOException
java.io.IOException
public void sendError(int sc)
throws java.io.IOException
sendError in interface javax.servlet.http.HttpServletResponsesendError in class javax.servlet.http.HttpServletResponseWrapperjava.io.IOException
public void sendError(int sc,
java.lang.String msg)
throws java.io.IOException
sendError in interface javax.servlet.http.HttpServletResponsesendError in class javax.servlet.http.HttpServletResponseWrapperjava.io.IOException
public void sendRedirect(java.lang.String location)
throws java.io.IOException
sendRedirect in interface javax.servlet.http.HttpServletResponsesendRedirect in class javax.servlet.http.HttpServletResponseWrapperjava.io.IOExceptionpublic boolean isUsingStream()
public char[] getContents()
throws java.io.IOException
java.io.IOException
|
www.opensymphony.com/sitemesh/ | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||