public class BufferCacheServletResponse extends MetaInfoCacheServletResponse
MetaInfoCacheServletResponse.MetaDatacalledGetOutputStream, calledGetWriterSC_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 and Description |
|---|
BufferCacheServletResponse(javax.servlet.http.HttpServletResponse httpServletResponse) |
| Modifier and Type | Method and Description |
|---|---|
int |
getBufferSize()
This method is very expensive when used in char mode because it has to
encode every char to byte in order to calculate the final byte size.
|
ByteBuffer |
getByteBuffer()
In char mode, this method will encode every char to byte using the
character set from
MetaInfoCacheServletResponse.getCharacterEncoding(). |
CharBuffer |
getCharBuffer()
In char mode, this method will encode every byte to char using the
character set from
MetaInfoCacheServletResponse.getCharacterEncoding(). |
javax.servlet.ServletOutputStream |
getOutputStream() |
String |
getString() |
com.liferay.petra.string.StringBundler |
getStringBundler() |
PrintWriter |
getWriter() |
boolean |
isByteMode() |
boolean |
isCharMode() |
void |
outputBuffer() |
protected void |
resetBuffer(boolean nullOutReferences)
Stub method for subclass to provide buffer resetting logic.
|
void |
setBufferSize(int bufferSize) |
void |
setByteBuffer(ByteBuffer byteBuffer) |
void |
setCharBuffer(CharBuffer charBuffer) |
void |
setContentLength(int contentLength) |
void |
setContentLengthLong(long contentLength) |
void |
setString(String string) |
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, finishResponse, finishResponse, flushBuffer, getCharacterEncoding, getContentType, getHeader, getHeaderNames, getHeaders, getHeaders, getLocale, getMetaData, getStatus, isCommitted, reset, resetBuffer, resetThrough, sendError, sendError, sendRedirect, setCharacterEncoding, setContentType, setDateHeader, setHeader, setIntHeader, setLocale, setStatus, setStatus, toStringencodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURLpublic BufferCacheServletResponse(javax.servlet.http.HttpServletResponse httpServletResponse)
public int getBufferSize()
getBufferSize in interface javax.servlet.ServletResponsegetBufferSize in class MetaInfoCacheServletResponsepublic ByteBuffer getByteBuffer()
throws IOException
MetaInfoCacheServletResponse.getCharacterEncoding(). Generally, this
method should be called after the last text based post-processing.
Otherwise, you may need decode the byte back to char again which will
result in a lot of unnecessary CPU overhead.IOExceptionpublic CharBuffer getCharBuffer()
throws IOException
MetaInfoCacheServletResponse.getCharacterEncoding(). Make sure the byte
data is actually encoded chars. Otherwise, the decoding will generate
meaningless data, or worse, even encode the output back and the exact
same character set may not able to retrieve the exact same byte data. For
example, decode an image byte data to char, then encode the chars back to
byte with same character set, will most likely create a corrupted image.IOExceptionpublic javax.servlet.ServletOutputStream getOutputStream()
getOutputStream in interface javax.servlet.ServletResponsegetOutputStream in class MetaInfoCacheServletResponsepublic String getString()
throws IOException
IOExceptiongetCharBuffer()public com.liferay.petra.string.StringBundler getStringBundler()
throws IOException
IOExceptiongetCharBuffer()public PrintWriter getWriter()
getWriter in interface javax.servlet.ServletResponsegetWriter in class MetaInfoCacheServletResponsepublic boolean isByteMode()
public boolean isCharMode()
public void outputBuffer()
throws IOException
IOExceptionpublic void setBufferSize(int bufferSize)
setBufferSize in interface javax.servlet.ServletResponsesetBufferSize in class MetaInfoCacheServletResponsepublic void setByteBuffer(ByteBuffer byteBuffer)
public void setCharBuffer(CharBuffer charBuffer)
public void setContentLength(int contentLength)
setContentLength in interface javax.servlet.ServletResponsesetContentLength in class MetaInfoCacheServletResponsepublic void setContentLengthLong(long contentLength)
setContentLengthLong in interface javax.servlet.ServletResponsesetContentLengthLong in class MetaInfoCacheServletResponsepublic void setString(String string)
protected void resetBuffer(boolean nullOutReferences)
MetaInfoCacheServletResponseresetBuffer in class MetaInfoCacheServletResponsenullOutReferences - whether to reset flags. It is not directly used
by this class. Subclasses with an actual buffer may behave
differently depending on the value of this parameter.