|
||||||||||
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()
|
java.io.OutputStream |
getBuffer()
|
int |
getBufferSize()
|
javax.servlet.ServletOutputStream |
getOutputStream()
|
javax.servlet.http.HttpServletResponse |
getWrappee()
|
java.io.PrintWriter |
getWriter()
|
javax.xml.stream.XMLStreamWriter |
getXMLWriter()
Returns an XMLStreamWriter for writing a response with XML content. |
javax.xml.stream.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 java.io.PrintWriter getWriter() throws java.io.IOException
getWriter
in interface javax.servlet.ServletResponse
getWriter
in class javax.servlet.ServletResponseWrapper
java.io.IOException
public javax.servlet.ServletOutputStream getOutputStream() throws java.io.IOException
getOutputStream
in interface javax.servlet.ServletResponse
getOutputStream
in class javax.servlet.ServletResponseWrapper
java.io.IOException
public javax.xml.stream.XMLStreamWriter getXMLWriter() throws java.io.IOException, javax.xml.stream.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
java.io.IOException
javax.xml.stream.XMLStreamException
public javax.xml.stream.XMLStreamWriter getXMLWriter(boolean setCharacterEncoding) throws java.io.IOException, javax.xml.stream.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
java.io.IOException
javax.xml.stream.XMLStreamException
public void validate()
public void flushBuffer() throws java.io.IOException
flushBuffer
in interface javax.servlet.ServletResponse
flushBuffer
in class javax.servlet.ServletResponseWrapper
java.io.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 java.io.OutputStream getBuffer()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |