public final class CommittingOutputStream extends OutputStream
 When buffering functionality is enabled the output stream buffers
 the written bytes into an internal buffer of a configurable size. After the last
 written byte the commit() method is expected to be called to notify
 a callback
 with an actual measured entity size. If the entity is too large to
 fit into the internal buffer and the buffer exceeds before the commit()
 is called then the stream is automatically committed and the callback is called
 with parameter size value of -1.
 
 Callback method also returns the output stream in which the output will be written. The committing output stream
 must be initialized with the callback using
 setStreamProvider(org.glassfish.jersey.message.internal.OutboundMessageContext.StreamProvider)
 before first byte is written.
 
enableBuffering()
 or enableBuffering(int) before writing the first byte into this output stream. The former
 method enables buffering with the default size
  bytes specified in DEFAULT_BUFFER_SIZE.
 | Modifier and Type | Field and Description | 
|---|---|
| static int | DEFAULT_BUFFER_SIZEDefault size of the buffer which will be used if no user defined size is specified. | 
| Constructor and Description | 
|---|
| CommittingOutputStream()Creates new committing output stream. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | close() | 
| void | commit()Commit the output stream. | 
| void | enableBuffering(int bufferSize)Enable buffering of the serialized entity. | 
| void | flush() | 
| boolean | isClosed()Check if the committing output stream has been closed already. | 
| boolean | isCommitted()Determine whether the stream was already committed or not. | 
| void | setStreamProvider(OutboundMessageContext.StreamProvider streamProvider)Set the buffering output stream provider. | 
| void | write(byte[] b) | 
| void | write(byte[] b,
     int off,
     int len) | 
| void | write(int b) | 
public static final int DEFAULT_BUFFER_SIZE
public CommittingOutputStream()
public void setStreamProvider(OutboundMessageContext.StreamProvider streamProvider)
streamProvider - non-null stream provider callback.public void enableBuffering(int bufferSize)
bufferSize - size of the buffer. When the value is less or equal to zero the buffering will be disabled and -1
                   will be passed to the
                   callback.public boolean isCommitted()
true if this stream was already committed, false otherwise.public void write(byte[] b)
           throws IOException
write in class OutputStreamIOExceptionpublic void write(byte[] b,
                  int off,
                  int len)
           throws IOException
write in class OutputStreamIOExceptionpublic void write(int b)
           throws IOException
write in class OutputStreamIOExceptionpublic void commit()
            throws IOException
IOException - when underlying stream returned from the callback method throws the io exception.public void close()
           throws IOException
close in interface Closeableclose in interface AutoCloseableclose in class OutputStreamIOExceptionpublic boolean isClosed()
true if the stream has been closed, false otherwise.public void flush()
           throws IOException
flush in interface Flushableflush in class OutputStreamIOExceptionCopyright © 2007-2021, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.