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, calledGetWriterFields 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 TypeMethodDescriptionintThis 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.ServletOutputStreamcom.liferay.petra.string.StringBundlerbooleanbooleanvoidprotected voidresetBuffer(boolean nullOutReferences) Stub method for subclass to provide buffer resetting logic.voidsetBufferSize(int bufferSize) voidsetByteBuffer(ByteBuffer byteBuffer) voidsetCharBuffer(CharBuffer charBuffer) voidsetContentLength(int contentLength) voidsetContentLengthLong(long contentLength) voidMethods 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, toStringMethods inherited from class javax.servlet.http.HttpServletResponseWrapper
encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getTrailerFields, setTrailerFieldsMethods 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:
getBufferSizein interfacejavax.servlet.ServletResponse- Overrides:
getBufferSizein 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:
getOutputStreamin interfacejavax.servlet.ServletResponse- Overrides:
getOutputStreamin classMetaInfoCacheServletResponse
-
getString
- Throws:
IOException- See Also:
-
getStringBundler
- Throws:
IOException- See Also:
-
getWriter
- Specified by:
getWriterin interfacejavax.servlet.ServletResponse- Overrides:
getWriterin classMetaInfoCacheServletResponse
-
isByteMode
public boolean isByteMode() -
isCharMode
public boolean isCharMode() -
outputBuffer
- Throws:
IOException
-
setBufferSize
public void setBufferSize(int bufferSize) - Specified by:
setBufferSizein interfacejavax.servlet.ServletResponse- Overrides:
setBufferSizein classMetaInfoCacheServletResponse
-
setByteBuffer
-
setCharBuffer
-
setContentLength
public void setContentLength(int contentLength) - Specified by:
setContentLengthin interfacejavax.servlet.ServletResponse- Overrides:
setContentLengthin classMetaInfoCacheServletResponse
-
setContentLengthLong
public void setContentLengthLong(long contentLength) - Specified by:
setContentLengthLongin interfacejavax.servlet.ServletResponse- Overrides:
setContentLengthLongin classMetaInfoCacheServletResponse
-
setString
-
resetBuffer
protected void resetBuffer(boolean nullOutReferences) Description copied from class:MetaInfoCacheServletResponseStub method for subclass to provide buffer resetting logic.- Overrides:
resetBufferin 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.
-