Apache CXF API

org.apache.cxf.io
Class CachedWriter

java.lang.Object
  extended by java.io.Writer
      extended by org.apache.cxf.io.CachedWriter
All Implemented Interfaces:
Closeable, Flushable, Appendable

public class CachedWriter
extends Writer


Field Summary
protected  Writer currentStream
           
protected  boolean outputLocked
           
 
Fields inherited from class java.io.Writer
lock
 
Constructor Summary
CachedWriter()
           
CachedWriter(long threshold)
           
 
Method Summary
 void close()
           
 void deregisterCallback(CachedWriterCallback 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()
           
 List<CachedWriterCallback> getCallbacks()
           
 char[] getChars()
           
 Writer getOut()
           
 Reader getReader()
           
 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(CachedWriterCallback cb)
           
 void releaseTempFileHold()
           
 void resetOut(Writer out, boolean copyOldContent)
          Replace the original stream with the new one, optionally copying the content of the old one into the new one.
static void setDefaultMaxSize(long l)
           
static void setDefaultThreshold(int i)
           
 void setMaxSize(long maxSize)
           
 void setOutputDir(File outputDir)
           
 void setThreshold(long threshold)
           
 long size()
           
 String toString()
           
 void write(char[] cbuf, int off, int len)
           
 void writeCacheTo(StringBuilder out)
           
 void writeCacheTo(StringBuilder out, long limit)
           
 void writeCacheTo(Writer out)
           
 
Methods inherited from class java.io.Writer
append, append, append, write, write, write, write
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

outputLocked

protected boolean outputLocked

currentStream

protected Writer currentStream
Constructor Detail

CachedWriter

public CachedWriter()

CachedWriter

public CachedWriter(long threshold)
Method Detail

holdTempFile

public void holdTempFile()

releaseTempFileHold

public void releaseTempFileHold()

registerCallback

public void registerCallback(CachedWriterCallback cb)

deregisterCallback

public void deregisterCallback(CachedWriterCallback cb)

getCallbacks

public List<CachedWriterCallback> 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
Specified by:
flush in class Writer
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
Specified by:
close in class Writer
Throws:
IOException

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

resetOut

public void resetOut(Writer 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

size

public long size()

getChars

public char[] getChars()
                throws IOException
Throws:
IOException

writeCacheTo

public void writeCacheTo(Writer out)
                  throws IOException
Throws:
IOException

writeCacheTo

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

writeCacheTo

public void writeCacheTo(StringBuilder out)
                  throws IOException
Throws:
IOException

getOut

public Writer 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(char[] cbuf,
                  int off,
                  int len)
           throws IOException
Specified by:
write in class Writer
Throws:
IOException

getTempFile

public File getTempFile()

getReader

public Reader getReader()
                 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)

setDefaultMaxSize

public static void setDefaultMaxSize(long l)

setDefaultThreshold

public static void setDefaultThreshold(int i)

Apache CXF API

Apache CXF