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

public class BufferCacheServletResponse extends MetaInfoCacheServletResponse
Author:
Shuyang Zhou
  • 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 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:
    • getStringBundler

      public com.liferay.petra.string.StringBundler getStringBundler() throws IOException
      Throws:
      IOException
      See Also:
    • 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
    • setContentLengthLong

      public void setContentLengthLong(long contentLength)
      Specified by:
      setContentLengthLong in interface javax.servlet.ServletResponse
      Overrides:
      setContentLengthLong 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.