Package org.apache.cxf.io

# Class CacheAndWriteOutputStream

java.lang.Object
java.io.OutputStream
org.apache.cxf.io.CachedOutputStream
org.apache.cxf.io.CacheAndWriteOutputStream

All Implemented Interfaces:
  `Closeable`, `Flushable`, `AutoCloseable`

public class CacheAndWriteOutputStream extends CachedOutputStream
This outputstream implementation will both write to the outputstream that is specified and cache the data at the same time. This allows us to go back and retransmit the data at a later time if necessary.

- ## Field Summary

  ### Fields inherited from class org.apache.cxf.io.CachedOutputStream

  `currentStream, outputLocked`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CacheAndWriteOutputStream(OutputStream stream)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `closeFlowthroughStream()`
  `OutputStream`
  `getFlowThroughStream()`
  `protected void`
  `onWrite()`
  `protected void`
  `postClose()`
  Perform any actions required after stream closure (close the other related stream etc.)
  `void`
  `setCacheLimit(long l)`
  `void`
  `write(byte[] b)`
  `void`
  `write(byte[] b, int off, int len)`
  `void`
  `write(int b)`

  ### Methods inherited from class org.apache.cxf.io.CachedOutputStream

  `close, copyStream, deregisterCallback, doClose, doFlush, equals, flush, getBytes, getCallbacks, getInputStream, getOut, getTempFile, getThreshold, hashCode, holdTempFile, isThresholdSysPropSet, lockOutputStream, registerCallback, releaseTempFileHold, resetOut, setCipherTransformation, setDefaultCipherTransformation, setDefaultMaxSize, setDefaultThreshold, setMaxSize, setOutputDir, setThreshold, size, toString, writeCacheTo, writeCacheTo, writeCacheTo, writeCacheTo, writeCacheTo`

  ### Methods inherited from class java.io.OutputStream

  `nullOutputStream`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### CacheAndWriteOutputStream

    public CacheAndWriteOutputStream(OutputStream stream)

- ## Method Details

  - ### setCacheLimit

    public void setCacheLimit(long l)

  - ### closeFlowthroughStream

    public void closeFlowthroughStream() throws IOException
    Throws:
      `IOException`

  - ### postClose

    protected void postClose() throws IOException
    Description copied from class: `CachedOutputStream`
    Perform any actions required after stream closure (close the other related stream etc.)
    Overrides:
      `postClose` in class `CachedOutputStream`
    Throws:
      `IOException`

  - ### getFlowThroughStream

    public OutputStream getFlowThroughStream()

  - ### onWrite

    protected void onWrite() throws IOException
    Overrides:
      `onWrite` in class `CachedOutputStream`
    Throws:
      `IOException`

  - ### write

    public void write(int b) throws IOException
    Overrides:
      `write` in class `CachedOutputStream`
    Throws:
      `IOException`

  - ### write

    public void write(byte[] b, int off, int len) throws IOException
    Overrides:
      `write` in class `CachedOutputStream`
    Throws:
      `IOException`

  - ### write

    public void write(byte[] b) throws IOException
    Overrides:
      `write` in class `CachedOutputStream`
    Throws:
      `IOException`