Package org.apache.cxf.io
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 Summary
Fields Modifier and Type Field Description protected WritercurrentStreamprotected booleanoutputLocked
-
Constructor Summary
Constructors Constructor Description CachedWriter()CachedWriter(long threshold)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()voidderegisterCallback(CachedWriterCallback cb)protected voiddoClose()Perform any actions required on stream closure (handle response etc.)protected voiddoFlush()Perform any actions required on stream flush (freeze headers, reset output stream ...booleanequals(Object obj)voidflush()List<CachedWriterCallback>getCallbacks()char[]getChars()WritergetOut()ReadergetReader()FilegetTempFile()inthashCode()voidholdTempFile()voidlockOutputStream()Locks the output stream to prevent additional writes, but maintains a pointer to it so an InputStream can be obtainedprotected voidonWrite()protected voidpostClose()Perform any actions required after stream closure (close the other related stream etc.)voidregisterCallback(CachedWriterCallback cb)voidreleaseTempFileHold()voidresetOut(Writer out, boolean copyOldContent)Replace the original stream with the new one, optionally copying the content of the old one into the new one.voidsetCipherTransformation(String cipherTransformation)static voidsetDefaultCipherTransformation(String n)static voidsetDefaultMaxSize(long l)static voidsetDefaultThreshold(int i)voidsetMaxSize(long maxSize)voidsetOutputDir(File outputDir)voidsetThreshold(long threshold)longsize()StringtoString()voidwrite(char[] cbuf, int off, int len)voidwriteCacheTo(Writer out)voidwriteCacheTo(StringBuilder out)voidwriteCacheTo(StringBuilder out, long limit)
-
-
-
Field Detail
-
outputLocked
protected boolean outputLocked
-
currentStream
protected Writer currentStream
-
-
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 IOExceptionPerform any actions required on stream flush (freeze headers, reset output stream ... etc.)- Throws:
IOException
-
flush
public void flush() throws IOException- Specified by:
flushin interfaceFlushable- Specified by:
flushin classWriter- Throws:
IOException
-
doClose
protected void doClose() throws IOExceptionPerform any actions required on stream closure (handle response etc.)- Throws:
IOException
-
postClose
protected void postClose() throws IOExceptionPerform any actions required after stream closure (close the other related stream etc.)- Throws:
IOException
-
lockOutputStream
public void lockOutputStream() throws IOExceptionLocks 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:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein classWriter- Throws:
IOException
-
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 streamcopyOldContent- 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
-
onWrite
protected void onWrite() throws IOException- Throws:
IOException
-
write
public void write(char[] cbuf, int off, int len) throws IOException- Specified by:
writein classWriter- 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)
-
-