Class ByteBufferOutputStream

    • Constructor Detail

      • ByteBufferOutputStream

        public ByteBufferOutputStream​(ByteBuffer buffer)
        Construct a ByteBufferOutputStream on a ByteBuffer object.
        Parameters:
        buffer - the ByteBuffer to write the data to
    • Method Detail

      • getByteBuffer

        public ByteBuffer getByteBuffer()
        Obtain the ByteBuffer that this OutputStream is based on.
        Returns:
        the underlying ByteBuffer
      • write

        public void write​(int b)
                   throws IOException
        Writes the specified byte to this output stream.
        Specified by:
        write in interface com.oracle.coherence.common.io.OutputStreaming
        Specified by:
        write in class OutputStream
        Parameters:
        b - the byte
        Throws:
        IOException - if an I/O error occurs
      • write

        public void write​(byte[] abSrc,
                          int ofSrc,
                          int cbSrc)
                   throws IOException
        Writes len bytes from the specified byte array starting at offset off to this output stream.

        If b is null, a NullPointerException is thrown.

        If off is negative, or len is negative, or off+len is greater than the length of the array b, then an IndexOutOfBoundsException is thrown.

        Specified by:
        write in interface com.oracle.coherence.common.io.OutputStreaming
        Overrides:
        write in class OutputStream
        Parameters:
        abSrc - the data
        ofSrc - the start offset in the data
        cbSrc - the number of bytes to write
        Throws:
        IOException - if an I/O error occurs
      • flush

        public void flush()
                   throws IOException
        Flush any accumulated bytes.
        Specified by:
        flush in interface Flushable
        Specified by:
        flush in interface com.oracle.coherence.common.io.OutputStreaming
        Overrides:
        flush in class OutputStream
        Throws:
        IOException - if an I/O error occurs
      • close

        public void close()
                   throws IOException
        Close the stream, flushing any accumulated bytes. The underlying buffer is not closed.
        Specified by:
        close in interface AutoCloseable
        Specified by:
        close in interface Closeable
        Specified by:
        close in interface com.oracle.coherence.common.io.OutputStreaming
        Overrides:
        close in class OutputStream
        Throws:
        IOException - if an I/O error occurs
      • includeMessage

        protected static String includeMessage​(Throwable e)
        Provide a "suffix" containing the exception message (if any).
        Parameters:
        e - an exception (any Throwable object)
        Returns:
        either an empty string (no message) or a suitable suffix for an error message
      • potentialStreamClosedException

        protected NullPointerException potentialStreamClosedException​(NullPointerException e)
                                                               throws IOException
        Check if an NPE is caused by the stream being closed. Either throws an IO exception if the stream is closed or throws the original NPE.
        Parameters:
        e - an NPE
        Returns:
        this method never returns normally but is designed so that the developer can write "throw potentialStreamClosedException(e)" so that the compiler knows that an exception is thrown at that point in the code
        Throws:
        IOException - if the stream is closed