Package org.apache.hc.core5.http.impl.io
Class IdentityOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- org.apache.hc.core5.http.impl.io.IdentityOutputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.io.Flushable,java.lang.AutoCloseable
public class IdentityOutputStream extends java.io.OutputStreamOutput stream that writes data without any transformation. The end of the content entity is demarcated by closing the underlying connection (EOF condition). Entities transferred using this input stream can be of unlimited length.Note that this class NEVER closes the underlying stream, even when
close()gets called. Instead, the stream will be marked as closed and no further output will be permitted.- Since:
- 4.0
-
-
Field Summary
Fields Modifier and Type Field Description private SessionOutputBufferbufferprivate booleanclosedTrue if the stream is closed.private java.io.OutputStreamoutputStream
-
Constructor Summary
Constructors Constructor Description IdentityOutputStream(SessionOutputBuffer buffer, java.io.OutputStream outputStream)Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Finishes writing to the underlying stream, but does NOT close the underlying stream.voidflush()voidwrite(byte[] b)voidwrite(byte[] b, int off, int len)voidwrite(int b)
-
-
-
Field Detail
-
buffer
private final SessionOutputBuffer buffer
-
outputStream
private final java.io.OutputStream outputStream
-
closed
private boolean closed
True if the stream is closed.
-
-
Constructor Detail
-
IdentityOutputStream
public IdentityOutputStream(SessionOutputBuffer buffer, java.io.OutputStream outputStream)
Default constructor.- Parameters:
buffer- Session output bufferoutputStream- Output stream
-
-
Method Detail
-
close
public void close() throws java.io.IOExceptionFinishes writing to the underlying stream, but does NOT close the underlying stream.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classjava.io.OutputStream- Throws:
java.io.IOException- If an I/O problem occurs.
-
flush
public void flush() throws java.io.IOException- Specified by:
flushin interfacejava.io.Flushable- Overrides:
flushin classjava.io.OutputStream- Throws:
java.io.IOException
-
write
public void write(byte[] b, int off, int len) throws java.io.IOException- Overrides:
writein classjava.io.OutputStream- Throws:
java.io.IOException
-
write
public void write(byte[] b) throws java.io.IOException- Overrides:
writein classjava.io.OutputStream- Throws:
java.io.IOException
-
write
public void write(int b) throws java.io.IOException- Specified by:
writein classjava.io.OutputStream- Throws:
java.io.IOException
-
-