org.apache.fop.pdf

## Interface StreamCache

- All Known Implementing Classes:
    InMemoryStreamCache, TempFileStreamCache

      public interface StreamCache

  Interface used to store the bytes for a PDFStream. It's actually a generic cached byte array. There's a factory that returns either an in-memory or tempfile based implementation based on a cacheToFile setting.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `clear()` Clears and resets the cache.
    `OutputStream` | `getOutputStream()` Get the current OutputStream.
    `int` | `getSize()` Returns the current size of the stream.
    `int` | `outputContents(OutputStream out)` Outputs the cached bytes to the given stream.
    `void` | `write(byte[] data)` Convenience method for writing data to the stream cache.

- - ### Method Detail

    - #### getOutputStream

          OutputStream getOutputStream()
                                throws IOException

      Get the current OutputStream. Do not store it - it may change from call to call.
      Returns:
        an output stream for this cache
      Throws:
        `IOException` - if there is an IO error

    - #### write

          void write(byte[] data)
              throws IOException

      Convenience method for writing data to the stream cache.
      Parameters:
        `data` - byte array to write
      Throws:
        `IOException` - if there is an IO error

    - #### outputContents

          int outputContents(OutputStream out)
                      throws IOException

      Outputs the cached bytes to the given stream.
      Parameters:
        `out` - the stream to write to
      Returns:
        the number of bytes written
      Throws:
        `IOException` - if there is an IO error

    - #### getSize

          int getSize()
               throws IOException

      Returns the current size of the stream.
      Returns:
        the size of the cache
      Throws:
        `IOException` - if there is an IO error

    - #### clear

          void clear()
              throws IOException

      Clears and resets the cache.
      Throws:
        `IOException` - if there is an IO error

Copyright © 2023 Apache Software Foundation. All rights reserved.