Class CachingOutputStreamWrapper

  • All Implemented Interfaces:
    Closeable, Flushable, AutoCloseable

    public class CachingOutputStreamWrapper
    extends jakarta.servlet.ServletOutputStream
    an output stream wrapper to cache response bytes
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      Close this output stream, causing any buffered data to be flushed and any further output data to throw an IOException.
      void flush()
      ` Flush any buffered data for this output stream, which also causes the response to be committed.
      byte[] getBytes()
      return the cached bytes
      boolean isReady()
      This method can be used to determine if data can be written without blocking.
      void setWriteListener​(jakarta.servlet.WriteListener writeListener)  
      void write​(byte[] b)
      Write b.length bytes from the specified byte array to our output stream.
      void write​(byte[] b, int off, int len)
      Write len bytes from the specified byte array, starting at the specified offset, to our output stream.
      void write​(int b)
      Write the specified byte to our output stream.
      • Methods inherited from class jakarta.servlet.ServletOutputStream

        print, print, print, print, print, print, print, println, println, println, println, println, println, println, println
    • Constructor Detail

      • CachingOutputStreamWrapper

        public CachingOutputStreamWrapper()
    • Method Detail

      • write

        public void write​(int b)
                   throws IOException
        Write the specified byte to our output stream.
        Specified by:
        write in class OutputStream
        Parameters:
        b - The byte to be written
        Throws:
        IOException - if an input/output error occurs
      • write

        public void write​(byte[] b)
                   throws IOException
        Write b.length bytes from the specified byte array to our output stream.
        Overrides:
        write in class OutputStream
        Parameters:
        b - The byte array to be written
        Throws:
        IOException - if an input/output error occurs
      • write

        public void write​(byte[] b,
                          int off,
                          int len)
                   throws IOException
        Write len bytes from the specified byte array, starting at the specified offset, to our output stream.
        Overrides:
        write in class OutputStream
        Parameters:
        b - The byte array containing the bytes to be written
        off - Zero-relative starting offset of the bytes to be written
        len - The number of bytes to be written
        Throws:
        IOException - if an input/output error occurs
      • isReady

        public boolean isReady()
        This method can be used to determine if data can be written without blocking.
        Specified by:
        isReady in class jakarta.servlet.ServletOutputStream
        Returns:
        true if a write to this ServletOutputStream will succeed, otherwise returns false.
      • setWriteListener

        public void setWriteListener​(jakarta.servlet.WriteListener writeListener)
        Specified by:
        setWriteListener in class jakarta.servlet.ServletOutputStream
      • getBytes

        public byte[] getBytes()
        return the cached bytes