Package org.bson.io

Class BasicOutputBuffer

  • All Implemented Interfaces:
    java.io.Closeable, java.io.Flushable, java.lang.AutoCloseable, BsonOutput

    public class BasicOutputBuffer
    extends OutputBuffer
    A BSON output stream that stores the output in a single, un-pooled byte array.
    • Constructor Detail

      • BasicOutputBuffer

        public BasicOutputBuffer()
        Construct an instance with a default initial byte array size.
      • BasicOutputBuffer

        public BasicOutputBuffer​(int initialSize)
        Construct an instance with the specified initial byte array size.
        Parameters:
        initialSize - the initial size of the byte array
    • Method Detail

      • getInternalBuffer

        public byte[] getInternalBuffer()
        Gets the internal buffer.
        Returns:
        the internal buffer
        Since:
        3.3
      • writeBytes

        public void writeBytes​(byte[] bytes,
                               int offset,
                               int length)
        Description copied from interface: BsonOutput
        Writes length bytes from the byte array, starting at offset.
        Parameters:
        bytes - the non-null byte array
        offset - the offset to start writing from
        length - the number of bytes to write
      • writeByte

        public void writeByte​(int value)
        Description copied from interface: BsonOutput
        Write a single byte to the stream. The byte to be written is the eight low-order bits of the specified value. The 24 high-order bits of the value are ignored.
        Parameters:
        value - the value
      • getPosition

        public int getPosition()
        Description copied from interface: BsonOutput
        Gets the current position in the stream.
        Returns:
        the current position
      • getSize

        public int getSize()
        Description copied from interface: BsonOutput
        Gets the current size of the stream in number of bytes.
        Returns:
        size of data so far
      • pipe

        public int pipe​(java.io.OutputStream out)
                 throws java.io.IOException
        Description copied from class: OutputBuffer
        Pipe the contents of this output buffer into the given output stream
        Specified by:
        pipe in class OutputBuffer
        Parameters:
        out - the stream to pipe to
        Returns:
        number of bytes written to the stream
        Throws:
        java.io.IOException - if the stream throws an exception
      • truncateToPosition

        public void truncateToPosition​(int newPosition)
        Description copied from interface: BsonOutput
        Truncates this stream to the new position. After this call, both size and position will equal the new position.
        Specified by:
        truncateToPosition in interface BsonOutput
        Specified by:
        truncateToPosition in class OutputBuffer
        Parameters:
        newPosition - the new position, which must be greater than or equal to 0 and less than the current size.
      • getByteBuffers

        public java.util.List<ByteBuf> getByteBuffers()
        Description copied from class: OutputBuffer
        Get a list of byte buffers that are prepared to be read from; in other words, whose position is 0 and whose limit is the number of bytes that should read.

        Note that the byte buffers may be read-only.

        Specified by:
        getByteBuffers in class OutputBuffer
        Returns:
        the non-null list of byte buffers, in LITTLE_ENDIAN order
      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface BsonOutput
        Specified by:
        close in interface java.io.Closeable
        Overrides:
        close in class OutputBuffer