Package org.apache.cxf.io
Class AbstractThresholdOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- org.apache.cxf.io.AbstractWrappedOutputStream
-
- org.apache.cxf.io.AbstractThresholdOutputStream
-
- All Implemented Interfaces:
Closeable,Flushable,AutoCloseable
public abstract class AbstractThresholdOutputStream extends AbstractWrappedOutputStream
Outputstream that will buffer a certain amount before writing anything to the underlying stream. When the threshold is reached, provides a callback point to allow the subclass to update headers, replace/set the output stream, etc... Also provides a callback for when the stream is closed without it reaching the threshold.
-
-
Field Summary
Fields Modifier and Type Field Description protected LoadingByteArrayOutputStreambufferprotected intthreshold-
Fields inherited from class org.apache.cxf.io.AbstractWrappedOutputStream
allowFlush, wrappedStream, written
-
-
Constructor Summary
Constructors Constructor Description AbstractThresholdOutputStream(int threshold)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidclose()abstract voidthresholdNotReached()abstract voidthresholdReached()voidunBuffer()voidwrite(byte[] b, int off, int len)voidwrite(int b)-
Methods inherited from class org.apache.cxf.io.AbstractWrappedOutputStream
allowFlush, flush, onFirstWrite, write
-
Methods inherited from class java.io.OutputStream
nullOutputStream
-
-
-
-
Field Detail
-
threshold
protected int threshold
-
buffer
protected LoadingByteArrayOutputStream buffer
-
-
Method Detail
-
thresholdReached
public abstract void thresholdReached() throws IOException- Throws:
IOException
-
thresholdNotReached
public abstract void thresholdNotReached() throws IOException- Throws:
IOException
-
write
public void write(byte[] b, int off, int len) throws IOException- Overrides:
writein classAbstractWrappedOutputStream- Throws:
IOException
-
write
public void write(int b) throws IOException- Overrides:
writein classAbstractWrappedOutputStream- Throws:
IOException
-
unBuffer
public void unBuffer() throws IOException- Throws:
IOException
-
close
public void close() throws IOException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classAbstractWrappedOutputStream- Throws:
IOException
-
-