Liferay 6.2-ce-ga5

com.liferay.portal.kernel.servlet
Class BufferCacheServletResponse

java.lang.Object
  extended by javax.servlet.ServletResponseWrapper
      extended by javax.servlet.http.HttpServletResponseWrapper
          extended by com.liferay.portal.kernel.servlet.MetaInfoCacheServletResponse
              extended by com.liferay.portal.kernel.servlet.BufferCacheServletResponse
All Implemented Interfaces:
javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse

public class BufferCacheServletResponse
extends MetaInfoCacheServletResponse


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
BufferCacheServletResponse(javax.servlet.http.HttpServletResponse response)
           
 
Method Summary
 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()
           
 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 setString(String string)
           
 
Methods inherited from class com.liferay.portal.kernel.servlet.MetaInfoCacheServletResponse
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, finishResponse, 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
 
Methods inherited from class javax.servlet.ServletResponseWrapper
getResponse, isWrapperFor, isWrapperFor, setResponse
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BufferCacheServletResponse

public BufferCacheServletResponse(javax.servlet.http.HttpServletResponse response)
Method Detail

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 interface javax.servlet.ServletResponse
Overrides:
getBufferSize in class MetaInfoCacheServletResponse
Returns:
used buffer size in byte.

getByteBuffer

public ByteBuffer getByteBuffer()
                         throws IOException
In char mode, this method will encode every char to byte using the character set from 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.

Throws:
IOException

getCharBuffer

public CharBuffer getCharBuffer()
                         throws IOException
In char mode, this method will encode every byte to char using the character set from 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.

Throws:
IOException

getOutputStream

public javax.servlet.ServletOutputStream getOutputStream()
Specified by:
getOutputStream in interface javax.servlet.ServletResponse
Overrides:
getOutputStream in class MetaInfoCacheServletResponse

getString

public String getString()
                 throws IOException
Throws:
IOException
See Also:
getCharBuffer()

getStringBundler

public StringBundler getStringBundler()
                               throws IOException
Throws:
IOException
See Also:
getCharBuffer()

getWriter

public PrintWriter getWriter()
Specified by:
getWriter in interface javax.servlet.ServletResponse
Overrides:
getWriter in class MetaInfoCacheServletResponse

isByteMode

public boolean isByteMode()

isCharMode

public boolean isCharMode()

outputBuffer

public void outputBuffer()
                  throws IOException
Throws:
IOException

setBufferSize

public void setBufferSize(int bufferSize)
Specified by:
setBufferSize in interface javax.servlet.ServletResponse
Overrides:
setBufferSize in class MetaInfoCacheServletResponse

setByteBuffer

public void setByteBuffer(ByteBuffer byteBuffer)

setCharBuffer

public void setCharBuffer(CharBuffer charBuffer)

setContentLength

public void setContentLength(int contentLength)
Specified by:
setContentLength in interface javax.servlet.ServletResponse
Overrides:
setContentLength in class MetaInfoCacheServletResponse

setString

public void setString(String string)

resetBuffer

protected void resetBuffer(boolean nullOutReferences)
Description copied from class: MetaInfoCacheServletResponse
Stub method for subclass to provide buffer resetting logic.

Overrides:
resetBuffer in class MetaInfoCacheServletResponse
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.

Liferay 6.2-ce-ga5