Class BufferCacheServletResponse
Object
javax.servlet.ServletResponseWrapper
javax.servlet.http.HttpServletResponseWrapper
com.liferay.portal.kernel.servlet.MetaInfoCacheServletResponse
com.liferay.portal.kernel.servlet.BufferCacheServletResponse
- All Implemented Interfaces:
javax.servlet.http.HttpServletResponse
,javax.servlet.ServletResponse
- Author:
- Shuyang Zhou
-
Nested Class Summary
Nested classes/interfaces inherited from class com.liferay.portal.kernel.servlet.MetaInfoCacheServletResponse
MetaInfoCacheServletResponse.MetaData
-
Field Summary
Fields inherited from class com.liferay.portal.kernel.servlet.MetaInfoCacheServletResponse
calledGetOutputStream, calledGetWriter
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
ConstructorsConstructorDescriptionBufferCacheServletResponse
(javax.servlet.http.HttpServletResponse httpServletResponse) -
Method Summary
Modifier and TypeMethodDescriptionint
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.In char mode, this method will encode every char to byte using the character set fromMetaInfoCacheServletResponse.getCharacterEncoding()
.In char mode, this method will encode every byte to char using the character set fromMetaInfoCacheServletResponse.getCharacterEncoding()
.javax.servlet.ServletOutputStream
com.liferay.petra.string.StringBundler
boolean
boolean
void
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
Methods inherited from class com.liferay.portal.kernel.servlet.MetaInfoCacheServletResponse
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, toString
Methods inherited from class javax.servlet.http.HttpServletResponseWrapper
encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getTrailerFields, setTrailerFields
Methods inherited from class javax.servlet.ServletResponseWrapper
getResponse, isWrapperFor, isWrapperFor, setResponse
-
Constructor Details
-
BufferCacheServletResponse
public BufferCacheServletResponse(javax.servlet.http.HttpServletResponse httpServletResponse)
-
-
Method Details
-
getBufferSize
public 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.- Specified by:
getBufferSize
in interfacejavax.servlet.ServletResponse
- Overrides:
getBufferSize
in classMetaInfoCacheServletResponse
- Returns:
- used buffer size in byte.
-
getByteBuffer
In char mode, this method will encode every char to byte using the character set fromMetaInfoCacheServletResponse.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.- Throws:
IOException
-
getCharBuffer
In char mode, this method will encode every byte to char using the character set fromMetaInfoCacheServletResponse.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.- Throws:
IOException
-
getOutputStream
public javax.servlet.ServletOutputStream getOutputStream()- Specified by:
getOutputStream
in interfacejavax.servlet.ServletResponse
- Overrides:
getOutputStream
in classMetaInfoCacheServletResponse
-
getString
- Throws:
IOException
- See Also:
-
getStringBundler
- Throws:
IOException
- See Also:
-
getWriter
- Specified by:
getWriter
in interfacejavax.servlet.ServletResponse
- Overrides:
getWriter
in classMetaInfoCacheServletResponse
-
isByteMode
public boolean isByteMode() -
isCharMode
public boolean isCharMode() -
outputBuffer
- Throws:
IOException
-
setBufferSize
public void setBufferSize(int bufferSize) - Specified by:
setBufferSize
in interfacejavax.servlet.ServletResponse
- Overrides:
setBufferSize
in classMetaInfoCacheServletResponse
-
setByteBuffer
-
setCharBuffer
-
setContentLength
public void setContentLength(int contentLength) - Specified by:
setContentLength
in interfacejavax.servlet.ServletResponse
- Overrides:
setContentLength
in classMetaInfoCacheServletResponse
-
setContentLengthLong
public void setContentLengthLong(long contentLength) - Specified by:
setContentLengthLong
in interfacejavax.servlet.ServletResponse
- Overrides:
setContentLengthLong
in classMetaInfoCacheServletResponse
-
setString
-
resetBuffer
protected void resetBuffer(boolean nullOutReferences) Description copied from class:MetaInfoCacheServletResponse
Stub method for subclass to provide buffer resetting logic.- Overrides:
resetBuffer
in classMetaInfoCacheServletResponse
- Parameters:
nullOutReferences
- 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.
-