|
||||||||||
| 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(String contentType,
String encoding)
|
void |
addHeader(String name,
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()
|
PrintWriter |
getWriter()
|
boolean |
isUsingStream()
|
void |
sendError(int sc)
|
void |
sendError(int sc,
String msg)
|
void |
sendRedirect(String location)
|
void |
setContentLength(int contentLength)
Prevent content-length being set if page is parseable. |
void |
setContentType(String type)
Set the content-type of the request and store it so it can be passed to the PageParser. |
void |
setHeader(String name,
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(String type)
PageParser.
setContentType in interface javax.servlet.ServletResponsesetContentType in class javax.servlet.ServletResponseWrapper
public void activateSiteMesh(String contentType,
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 IOException
flushBuffer in interface javax.servlet.ServletResponseflushBuffer in class javax.servlet.ServletResponseWrapperIOException
public void setHeader(String name,
String value)
setHeader in interface javax.servlet.http.HttpServletResponsesetHeader in class javax.servlet.http.HttpServletResponseWrapper
public void addHeader(String name,
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 PrintWriter getWriter()
getWriter in interface javax.servlet.ServletResponsegetWriter in class javax.servlet.ServletResponseWrapper
public Page getPage()
throws IOException
IOException
public void sendError(int sc)
throws IOException
sendError in interface javax.servlet.http.HttpServletResponsesendError in class javax.servlet.http.HttpServletResponseWrapperIOException
public void sendError(int sc,
String msg)
throws IOException
sendError in interface javax.servlet.http.HttpServletResponsesendError in class javax.servlet.http.HttpServletResponseWrapperIOException
public void sendRedirect(String location)
throws IOException
sendRedirect in interface javax.servlet.http.HttpServletResponsesendRedirect in class javax.servlet.http.HttpServletResponseWrapperIOExceptionpublic boolean isUsingStream()
public char[] getContents()
throws IOException
IOException
|
www.opensymphony.com/sitemesh/ | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||