Class InMemoryStreamCache

  • All Implemented Interfaces:
    StreamCache

    public class InMemoryStreamCache
    extends java.lang.Object
    implements StreamCache
    StreamCache implementation that uses temporary files rather than heap.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clear()
      Clears and resets the cache.
      java.io.OutputStream getOutputStream()
      Get the current OutputStream.
      int getSize()
      Returns the current size of the stream.
      int outputContents​(java.io.OutputStream out)
      Outputs the cached bytes to the given stream.
      void write​(byte[] data)
      Convenience method for writing data to the stream cache.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • InMemoryStreamCache

        public InMemoryStreamCache()
        Creates a new InMemoryStreamCache.
      • InMemoryStreamCache

        public InMemoryStreamCache​(int hintSize)
        Creates a new InMemoryStreamCache.
        Parameters:
        hintSize - a hint about the approximate expected size of the buffer
    • Method Detail

      • getOutputStream

        public java.io.OutputStream getOutputStream()
                                             throws java.io.IOException
        Get the current OutputStream. Do not store it - it may change from call to call.
        Specified by:
        getOutputStream in interface StreamCache
        Returns:
        the output stream containing the data
        Throws:
        java.io.IOException - if there is an error getting the output stream
      • write

        public void write​(byte[] data)
                   throws java.io.IOException
        Convenience method for writing data to the stream cache.
        Specified by:
        write in interface StreamCache
        Parameters:
        data - byte array to write
        Throws:
        java.io.IOException - if there is an IO error
      • outputContents

        public int outputContents​(java.io.OutputStream out)
                           throws java.io.IOException
        Outputs the cached bytes to the given stream.
        Specified by:
        outputContents in interface StreamCache
        Parameters:
        out - the output stream to write to
        Returns:
        the number of bytes written
        Throws:
        java.io.IOException - if there is an IO error writing to the output stream
      • getSize

        public int getSize()
                    throws java.io.IOException
        Returns the current size of the stream.
        Specified by:
        getSize in interface StreamCache
        Returns:
        the length of the stream
        Throws:
        java.io.IOException - if there is an error getting the size
      • clear

        public void clear()
                   throws java.io.IOException
        Clears and resets the cache.
        Specified by:
        clear in interface StreamCache
        Throws:
        java.io.IOException - if there is an error closing the stream