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.OutputStream
Output 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 SessionOutputBuffer
buffer
private boolean
closed
True if the stream is closed.private java.io.OutputStream
outputStream
-
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 void
close()
Finishes writing to the underlying stream, but does NOT close the underlying stream.void
flush()
void
write(byte[] b)
void
write(byte[] b, int off, int len)
void
write(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.IOException
Finishes writing to the underlying stream, but does NOT close the underlying stream.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.OutputStream
- Throws:
java.io.IOException
- If an I/O problem occurs.
-
flush
public void flush() throws java.io.IOException
- Specified by:
flush
in interfacejava.io.Flushable
- Overrides:
flush
in classjava.io.OutputStream
- Throws:
java.io.IOException
-
write
public void write(byte[] b, int off, int len) throws java.io.IOException
- Overrides:
write
in classjava.io.OutputStream
- Throws:
java.io.IOException
-
write
public void write(byte[] b) throws java.io.IOException
- Overrides:
write
in classjava.io.OutputStream
- Throws:
java.io.IOException
-
write
public void write(int b) throws java.io.IOException
- Specified by:
write
in classjava.io.OutputStream
- Throws:
java.io.IOException
-
-