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 LoadingByteArrayOutputStream
buffer
protected int
threshold
-
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 void
close()
abstract void
thresholdNotReached()
abstract void
thresholdReached()
void
unBuffer()
void
write(byte[] b, int off, int len)
void
write(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:
write
in classAbstractWrappedOutputStream
- Throws:
IOException
-
write
public void write(int b) throws IOException
- Overrides:
write
in classAbstractWrappedOutputStream
- Throws:
IOException
-
unBuffer
public void unBuffer() throws IOException
- Throws:
IOException
-
close
public void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classAbstractWrappedOutputStream
- Throws:
IOException
-
-