|
|||||||||
| 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
org.hd.d.pg2k.webSvr.util.XMLCompressionServletResponseWrapper
final class XMLCompressionServletResponseWrapper
Allows conservative compaction of (removal of redundant characters from) an XML response. This implementation is only prepared to try to compact the text when it can be parsed unambiguously and in a light-weight way.
The meaning of the XML should be unchanged, just represented in fewer bytes on the wire.
Thus it will only attempt to filter a (char-based) Writer response, not a (byte-based) Stream response, for now.
We call the Writer of the underlying response to preserve the char-based nature of the text as we are processing it.
This implementation is not thread-safe.
This class does not need to be public nor derived from.
| Field Summary | |
|---|---|
private javax.servlet.http.HttpServletResponse |
origResponse
Original response; never null. |
private java.util.concurrent.atomic.AtomicBoolean |
removingWhitespace
If true then we are removing whitespace. |
private javax.servlet.ServletOutputStream |
stream
Any ServletOutputStream that has been returned, else null. |
private java.io.PrintWriter |
underlyingWriter
The PrintWriter from the underlying response, else null. |
private java.io.PrintWriter |
writer
Any PrintWriter that has been returned, else null. |
| 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_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 | |
|---|---|
XMLCompressionServletResponseWrapper(javax.servlet.http.HttpServletResponse response)
|
|
| Method Summary | |
|---|---|
void |
finishResponse()
Finish up. |
javax.servlet.ServletOutputStream |
getOutputStream()
Get a ServletOutputStream to write the content associated for this response. |
java.io.PrintWriter |
getWriter()
|
void |
reset()
|
void |
resetBuffer()
|
void |
setContentLength(int length)
Prevent the Content-Length header from being set. |
| 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 |
|---|
flushBuffer, getBufferSize, getCharacterEncoding, getLocale, getResponse, isCommitted, setBufferSize, 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 |
|---|
flushBuffer, getBufferSize, getCharacterEncoding, getLocale, isCommitted, setBufferSize, setContentType, setLocale |
| Field Detail |
|---|
private final javax.servlet.http.HttpServletResponse origResponse
private javax.servlet.ServletOutputStream stream
private java.io.PrintWriter writer
private java.io.PrintWriter underlyingWriter
private final java.util.concurrent.atomic.AtomicBoolean removingWhitespace
| Constructor Detail |
|---|
public XMLCompressionServletResponseWrapper(javax.servlet.http.HttpServletResponse response)
| Method Detail |
|---|
public javax.servlet.ServletOutputStream getOutputStream()
throws java.io.IOException
We get the stream from the underlying response directly.
getOutputStream in interface javax.servlet.ServletResponsegetOutputStream in class javax.servlet.ServletResponseWrapperjava.io.IOException
public java.io.PrintWriter getWriter()
throws java.io.IOException
getWriter in interface javax.servlet.ServletResponsegetWriter in class javax.servlet.ServletResponseWrapperjava.io.IOExceptionpublic void reset()
reset in interface javax.servlet.ServletResponsereset in class javax.servlet.ServletResponseWrapperpublic void resetBuffer()
resetBuffer in interface javax.servlet.ServletResponseresetBuffer in class javax.servlet.ServletResponseWrapperpublic void setContentLength(int length)
setContentLength in interface javax.servlet.ServletResponsesetContentLength in class javax.servlet.ServletResponseWrapperpublic void finishResponse()
|
DHD Multimedia Gallery V1.60.69 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||