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
`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