Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Apache CXF API
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.cxf.io
Class CachedOutputStream

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

All Implemented Interfaces:
  Closeable, Flushable

Direct Known Subclasses:
  CacheAndWriteOutputStream, WriteOnCloseOutputStream

    public class CachedOutputStream

extends OutputStream

Field Summary
`protected OutputStream` | `currentStream`
`protected boolean` | `outputLocked`

Constructor Summary
`CachedOutputStream()`
`CachedOutputStream(long threshold)`
`CachedOutputStream(PipedInputStream stream)`

Method Summary
`void` | `close()`
`static void` | `copyStream(InputStream in, OutputStream out, int bufferSize)`
`void` | `deregisterCallback(CachedOutputStreamCallback cb)`
`protected void` | `doClose()` Perform any actions required on stream closure (handle response etc.)
`protected void` | `doFlush()` Perform any actions required on stream flush (freeze headers, reset output stream ...
`boolean` | `equals(Object obj)`
`void` | `flush()`
`byte[]` | `getBytes()`
`List<CachedOutputStreamCallback>` | `getCallbacks()`
`InputStream` | `getInputStream()`
`OutputStream` | `getOut()`
`File` | `getTempFile()`
`int` | `hashCode()`
`void` | `holdTempFile()`
`void` | `lockOutputStream()` Locks the output stream to prevent additional writes, but maintains a pointer to it so an InputStream can be obtained
`protected void` | `onWrite()`
`protected void` | `postClose()` Perform any actions required after stream closure (close the other related stream etc.)
`void` | `registerCallback(CachedOutputStreamCallback cb)`
`void` | `releaseTempFileHold()`
`void` | `resetOut(OutputStream out, boolean copyOldContent)` Replace the original stream with the new one, optionally copying the content of the old one into the new one.
`void` | `setMaxSize(long maxSize)`
`void` | `setOutputDir(File outputDir)`
`void` | `setThreshold(long threshold)`
`long` | `size()`
`String` | `toString()`
`void` | `write(byte[] b)`
`void` | `write(byte[] b, int off, int len)`
`void` | `write(int b)`
`void` | `writeCacheTo(OutputStream out)`
`void` | `writeCacheTo(StringBuilder out)`
`void` | `writeCacheTo(StringBuilder out, long limit)`
`void` | `writeCacheTo(StringBuilder out, String charsetName)`
`void` | `writeCacheTo(StringBuilder out, String charsetName, long limit)`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### outputLocked

    protected boolean outputLocked

### currentStream

    protected OutputStream currentStream

Constructor Detail

### CachedOutputStream

    public CachedOutputStream(PipedInputStream stream)
                       throws IOException

Throws:
  `IOException`

### CachedOutputStream

    public CachedOutputStream()

### CachedOutputStream

    public CachedOutputStream(long threshold)

Method Detail

### holdTempFile

    public void holdTempFile()

### releaseTempFileHold

    public void releaseTempFileHold()

### registerCallback

    public void registerCallback(CachedOutputStreamCallback cb)

### deregisterCallback

    public void deregisterCallback(CachedOutputStreamCallback cb)

### getCallbacks

    public List<CachedOutputStreamCallback> getCallbacks()

### doFlush

    protected void doFlush()
                    throws IOException

  Perform any actions required on stream flush (freeze headers, reset output stream ... etc.)

  Throws:
    `IOException`

### flush

    public void flush()
               throws IOException

  Specified by:
    `flush` in interface `Flushable`
  Overrides:
    `flush` in class `OutputStream`
  Throws:
    `IOException`

### doClose

    protected void doClose()
                    throws IOException

  Perform any actions required on stream closure (handle response etc.)

  Throws:
    `IOException`

### postClose

    protected void postClose()
                      throws IOException

  Perform any actions required after stream closure (close the other related stream etc.)

  Throws:
    `IOException`

### lockOutputStream

    public void lockOutputStream()
                          throws IOException

  Locks the output stream to prevent additional writes, but maintains a pointer to it so an InputStream can be obtained

  Throws:
    `IOException`

### close

    public void close()
               throws IOException

  Specified by:
    `close` in interface `Closeable`
  Overrides:
    `close` in class `OutputStream`
  Throws:
    `IOException`

### equals

    public boolean equals(Object obj)

  Overrides:
    `equals` in class `Object`

### resetOut

    public void resetOut(OutputStream out,
                         boolean copyOldContent)
                  throws IOException

  Replace the original stream with the new one, optionally copying the content of the old one into the new one. When with Attachment, needs to replace the xml writer stream with the stream used by AttachmentSerializer or copy the cached output stream to the "real" output stream, i.e. onto the wire.

  Parameters:
    `out` - the new output stream
    `copyOldContent` - flag indicating if the old content should be copied
  Throws:
    `IOException`

### copyStream

    public static void copyStream(InputStream in,
                                  OutputStream out,
                                  int bufferSize)
                           throws IOException

  Throws:
    `IOException`

### size

    public long size()

### getBytes

    public byte[] getBytes()
                    throws IOException

  Throws:
    `IOException`

### writeCacheTo

    public void writeCacheTo(OutputStream out)
                      throws IOException

  Throws:
    `IOException`

### writeCacheTo

    public void writeCacheTo(StringBuilder out,
                             long limit)
                      throws IOException

  Throws:
    `IOException`

### writeCacheTo

    public void writeCacheTo(StringBuilder out,
                             String charsetName,
                             long limit)
                      throws IOException

  Throws:
    `IOException`

### writeCacheTo

    public void writeCacheTo(StringBuilder out)
                      throws IOException

  Throws:
    `IOException`

### writeCacheTo

    public void writeCacheTo(StringBuilder out,
                             String charsetName)
                      throws IOException

  Throws:
    `IOException`

### getOut

    public OutputStream getOut()

  Returns:
    the underlying output stream

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `Object`

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### onWrite

    protected void onWrite()
                    throws IOException

  Throws:
    `IOException`

### write

    public void write(byte[] b,
                      int off,
                      int len)
               throws IOException

  Overrides:
    `write` in class `OutputStream`
  Throws:
    `IOException`

### write

    public void write(byte[] b)
               throws IOException

  Overrides:
    `write` in class `OutputStream`
  Throws:
    `IOException`

### write

    public void write(int b)
               throws IOException

  Specified by:
    `write` in class `OutputStream`
  Throws:
    `IOException`

### getTempFile

    public File getTempFile()

### getInputStream

    public InputStream getInputStream()
                               throws IOException

  Throws:
    `IOException`

### setOutputDir

    public void setOutputDir(File outputDir)
                      throws IOException

  Throws:
    `IOException`

### setThreshold

    public void setThreshold(long threshold)

### setMaxSize

    public void setMaxSize(long maxSize)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Apache CXF API
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Apache CXF