|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.servlet.ServletResponseWrapper javax.servlet.http.HttpServletResponseWrapper org.deegree.services.controller.utils.HttpResponseBuffer
public class HttpResponseBuffer
Custom HttpServletResponseWrapper
that buffers all written data internally and will only send the result when
flushBuffer()
is called.
This allows for two things:
This wrapper allows the change between getWriter()
and getOutputStream()
after reset()
was
called. This is unlike the original servlet API that throws an IllegalStateException
when getWriter is called
after getOutputStream, or vice versa.
Field Summary |
---|
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 | |
---|---|
HttpResponseBuffer(javax.servlet.http.HttpServletResponse response)
|
Method Summary | |
---|---|
void |
disableBuffering()
Disables the buffering of the output. |
void |
flushBuffer()
|
OutputStream |
getBuffer()
|
int |
getBufferSize()
|
javax.servlet.ServletOutputStream |
getOutputStream()
|
javax.servlet.http.HttpServletResponse |
getWrappee()
|
PrintWriter |
getWriter()
|
XMLStreamWriter |
getXMLWriter()
Returns an XMLStreamWriter for writing a response with XML content. |
XMLStreamWriter |
getXMLWriter(boolean setCharacterEncoding)
Returns an XMLStreamWriter for writing a response with XML content. |
void |
reset()
|
void |
validate()
Performs a schema-based validation of the response (only if the written output has been buffered and was XML). |
Methods inherited from class javax.servlet.http.HttpServletResponseWrapper |
---|
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, sendError, sendError, sendRedirect, setDateHeader, setHeader, setIntHeader, setStatus, setStatus |
Methods inherited from class javax.servlet.ServletResponseWrapper |
---|
getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, 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 javax.servlet.ServletResponse |
---|
getCharacterEncoding, getContentType, getLocale, isCommitted, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentType, setLocale |
Constructor Detail |
---|
public HttpResponseBuffer(javax.servlet.http.HttpServletResponse response)
response
- Method Detail |
---|
public javax.servlet.http.HttpServletResponse getWrappee()
public void disableBuffering()
This method may only be called, if neither getWriter()
, getOutputStream()
nor
getXMLWriter()
has been called before.
public PrintWriter getWriter() throws IOException
getWriter
in interface javax.servlet.ServletResponse
getWriter
in class javax.servlet.ServletResponseWrapper
IOException
public javax.servlet.ServletOutputStream getOutputStream() throws IOException
getOutputStream
in interface javax.servlet.ServletResponse
getOutputStream
in class javax.servlet.ServletResponseWrapper
IOException
public XMLStreamWriter getXMLWriter() throws IOException, XMLStreamException
XMLStreamWriter
for writing a response with XML content.
NOTE: This method may be called more than once -- the first call will create an XMLStreamWriter
object
and subsequent calls return the same object. This provides a convenient means to produce plain XML responses and
SOAP wrapped response bodies with the same code.
XMLStreamWriter
for writing the response, with XML preamble already written
IOException
XMLStreamException
public XMLStreamWriter getXMLWriter(boolean setCharacterEncoding) throws IOException, XMLStreamException
XMLStreamWriter
for writing a response with XML content.
NOTE: This method may be called more than once -- the first call will create an XMLStreamWriter
object
and subsequent calls return the same object. This provides a convenient means to produce plain XML responses and
SOAP wrapped response bodies with the same code.
setCharacterEncoding
- true, if the response's character encoding should be set, false otherwise
XMLStreamWriter
for writing the response, with XML preamble already written
IOException
XMLStreamException
public void validate()
public void flushBuffer() throws IOException
flushBuffer
in interface javax.servlet.ServletResponse
flushBuffer
in class javax.servlet.ServletResponseWrapper
IOException
public void reset()
reset
in interface javax.servlet.ServletResponse
reset
in class javax.servlet.ServletResponseWrapper
public int getBufferSize()
getBufferSize
in interface javax.servlet.ServletResponse
getBufferSize
in class javax.servlet.ServletResponseWrapper
public OutputStream getBuffer()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |