Package org.apache.cxf.io
Class CachedOutputStream
- java.lang.Object
- 
- java.io.OutputStream
- 
- org.apache.cxf.io.CachedOutputStream
 
 
- 
- All Implemented Interfaces:
- Closeable,- Flushable,- AutoCloseable
 - Direct Known Subclasses:
- CacheAndWriteOutputStream,- WriteOnCloseOutputStream
 
 public class CachedOutputStream extends OutputStream 
- 
- 
Field SummaryFields Modifier and Type Field Description protected OutputStreamcurrentStreamprotected booleanoutputLocked
 - 
Constructor SummaryConstructors Constructor Description CachedOutputStream()CachedOutputStream(long threshold)
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()static voidcopyStream(InputStream in, OutputStream out, int bufferSize)voidderegisterCallback(CachedOutputStreamCallback 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()byte[]getBytes()List<CachedOutputStreamCallback>getCallbacks()InputStreamgetInputStream()OutputStreamgetOut()FilegetTempFile()longgetThreshold()inthashCode()voidholdTempFile()static booleanisThresholdSysPropSet()Returns true if the default threshold is explicitly set via CachedConstants.THRESHOLD_SYS_PROPvoidlockOutputStream()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(CachedOutputStreamCallback cb)voidreleaseTempFileHold()voidresetOut(OutputStream 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(byte[] b)voidwrite(byte[] b, int off, int len)voidwrite(int b)voidwriteCacheTo(OutputStream out)voidwriteCacheTo(StringBuilder out)voidwriteCacheTo(StringBuilder out, long limit)voidwriteCacheTo(StringBuilder out, String charsetName)voidwriteCacheTo(StringBuilder out, String charsetName, long limit)- 
Methods inherited from class java.io.OutputStreamnullOutputStream
 
- 
 
- 
- 
- 
Field Detail- 
outputLockedprotected boolean outputLocked 
 - 
currentStreamprotected OutputStream currentStream 
 
- 
 - 
Method Detail- 
holdTempFilepublic void holdTempFile() 
 - 
releaseTempFileHoldpublic void releaseTempFileHold() 
 - 
registerCallbackpublic void registerCallback(CachedOutputStreamCallback cb) 
 - 
deregisterCallbackpublic void deregisterCallback(CachedOutputStreamCallback cb) 
 - 
getCallbackspublic List<CachedOutputStreamCallback> getCallbacks() 
 - 
doFlushprotected void doFlush() throws IOExceptionPerform any actions required on stream flush (freeze headers, reset output stream ... etc.)- Throws:
- IOException
 
 - 
flushpublic void flush() throws IOException- Specified by:
- flushin interface- Flushable
- Overrides:
- flushin class- OutputStream
- Throws:
- IOException
 
 - 
doCloseprotected void doClose() throws IOExceptionPerform any actions required on stream closure (handle response etc.)- Throws:
- IOException
 
 - 
postCloseprotected void postClose() throws IOExceptionPerform any actions required after stream closure (close the other related stream etc.)- Throws:
- IOException
 
 - 
lockOutputStreampublic 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
 
 - 
closepublic void close() throws IOException- Specified by:
- closein interface- AutoCloseable
- Specified by:
- closein interface- Closeable
- Overrides:
- closein class- OutputStream
- Throws:
- IOException
 
 - 
resetOutpublic 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
 
 - 
copyStreampublic static void copyStream(InputStream in, OutputStream out, int bufferSize) throws IOException - Throws:
- IOException
 
 - 
sizepublic long size() 
 - 
getBytespublic byte[] getBytes() throws IOException- Throws:
- IOException
 
 - 
writeCacheTopublic void writeCacheTo(OutputStream out) throws IOException - Throws:
- IOException
 
 - 
writeCacheTopublic void writeCacheTo(StringBuilder out, long limit) throws IOException - Throws:
- IOException
 
 - 
writeCacheTopublic void writeCacheTo(StringBuilder out, String charsetName, long limit) throws IOException - Throws:
- IOException
 
 - 
writeCacheTopublic void writeCacheTo(StringBuilder out) throws IOException - Throws:
- IOException
 
 - 
writeCacheTopublic void writeCacheTo(StringBuilder out, String charsetName) throws IOException - Throws:
- IOException
 
 - 
getOutpublic OutputStream getOut() - Returns:
- the underlying output stream
 
 - 
onWriteprotected void onWrite() throws IOException- Throws:
- IOException
 
 - 
writepublic void write(byte[] b, int off, int len) throws IOException- Overrides:
- writein class- OutputStream
- Throws:
- IOException
 
 - 
writepublic void write(byte[] b) throws IOException- Overrides:
- writein class- OutputStream
- Throws:
- IOException
 
 - 
writepublic void write(int b) throws IOException- Specified by:
- writein class- OutputStream
- Throws:
- IOException
 
 - 
getTempFilepublic File getTempFile() 
 - 
getInputStreampublic InputStream getInputStream() throws IOException - Throws:
- IOException
 
 - 
setOutputDirpublic void setOutputDir(File outputDir) throws IOException - Throws:
- IOException
 
 - 
getThresholdpublic long getThreshold() 
 - 
setThresholdpublic void setThreshold(long threshold) 
 - 
setMaxSizepublic void setMaxSize(long maxSize) 
 - 
setCipherTransformationpublic void setCipherTransformation(String cipherTransformation) 
 - 
setDefaultMaxSizepublic static void setDefaultMaxSize(long l) 
 - 
setDefaultThresholdpublic static void setDefaultThreshold(int i) 
 - 
isThresholdSysPropSetpublic static boolean isThresholdSysPropSet() Returns true if the default threshold is explicitly set via CachedConstants.THRESHOLD_SYS_PROP
 - 
setDefaultCipherTransformationpublic static void setDefaultCipherTransformation(String n) 
 
- 
 
-