Class CachedWriter

java.lang.Object
java.io.Writer
org.apache.cxf.io.CachedWriter
All Implemented Interfaces:
Closeable, Flushable, Appendable, AutoCloseable
Direct Known Subclasses:
XSLTOutInterceptor.XSLTCachedWriter

public class CachedWriter extends Writer
  • Field Details

    • outputLocked

      protected boolean outputLocked
    • currentStream

      protected Writer currentStream
  • Constructor Details

    • CachedWriter

      public CachedWriter()
    • CachedWriter

      public CachedWriter(long threshold)
  • Method Details

    • 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 AutoCloseable
      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)
    • setCipherTransformation

      public void setCipherTransformation(String cipherTransformation)
    • setDefaultMaxSize

      public static void setDefaultMaxSize(long l)
    • setDefaultThreshold

      public static void setDefaultThreshold(int i)
    • setDefaultCipherTransformation

      public static void setDefaultCipherTransformation(String n)