Package org.bson.io

Class ByteBufferBsonInput

java.lang.Object
org.bson.io.ByteBufferBsonInput
All Implemented Interfaces:
Closeable, AutoCloseable, BsonInput

public class ByteBufferBsonInput extends Object implements BsonInput
An implementation of BsonInput that is backed by a ByteBuf.
Since:
3.0
  • Constructor Summary

    Constructors
    Constructor
    Description
    Construct an instance with the given byte buffer.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    getMark(int readLimit)
    Gets a mark for the current position in the stream.
    int
    Gets the current position in the stream
    boolean
    Returns true if there are more bytes left in the stream.
    byte
    Reads a single byte from the stream
    void
    readBytes(byte[] bytes)
    Reads the specified number of bytes into the given byte array.
    void
    readBytes(byte[] bytes, int offset, int length)
    Reads the specified number of bytes into the given byte array starting at the specified offset.
    Reads a BSON CString value from the stream.
    double
    Reads a BSON Double value from the stream.
    int
    Reads a BSON Int32 value from the stream.
    long
    Reads a BSON Int64 value from the stream.
    Reads a BSON ObjectId value from the stream.
    Reads a BSON String value from the stream.
    void
    skip(int numBytes)
    Skips the specified number of bytes in the stream.
    void
    Skips a BSON CString value from the stream.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ByteBufferBsonInput

      public ByteBufferBsonInput(ByteBuf buffer)
      Construct an instance with the given byte buffer. The stream takes over ownership of the buffer and closes it when this instance is closed.
      Parameters:
      buffer - the byte buffer
  • Method Details

    • getPosition

      public int getPosition()
      Description copied from interface: BsonInput
      Gets the current position in the stream
      Specified by:
      getPosition in interface BsonInput
      Returns:
      the current position
    • readByte

      public byte readByte()
      Description copied from interface: BsonInput
      Reads a single byte from the stream
      Specified by:
      readByte in interface BsonInput
      Returns:
      the byte value
    • readBytes

      public void readBytes(byte[] bytes)
      Description copied from interface: BsonInput
      Reads the specified number of bytes into the given byte array. This is equivalent to readBytes(bytes, 0, bytes.length).
      Specified by:
      readBytes in interface BsonInput
      Parameters:
      bytes - the byte array to write into
    • readBytes

      public void readBytes(byte[] bytes, int offset, int length)
      Description copied from interface: BsonInput
      Reads the specified number of bytes into the given byte array starting at the specified offset.
      Specified by:
      readBytes in interface BsonInput
      Parameters:
      bytes - the byte array to write into
      offset - the offset to start writing
      length - the number of bytes to write
    • readInt64

      public long readInt64()
      Description copied from interface: BsonInput
      Reads a BSON Int64 value from the stream.
      Specified by:
      readInt64 in interface BsonInput
      Returns:
      the Int64 value
    • readDouble

      public double readDouble()
      Description copied from interface: BsonInput
      Reads a BSON Double value from the stream.
      Specified by:
      readDouble in interface BsonInput
      Returns:
      the double value
    • readInt32

      public int readInt32()
      Description copied from interface: BsonInput
      Reads a BSON Int32 value from the stream.
      Specified by:
      readInt32 in interface BsonInput
      Returns:
      the Int32 value
    • readObjectId

      public ObjectId readObjectId()
      Description copied from interface: BsonInput
      Reads a BSON ObjectId value from the stream.
      Specified by:
      readObjectId in interface BsonInput
      Returns:
      the ObjectId
    • readString

      public String readString()
      Description copied from interface: BsonInput
      Reads a BSON String value from the stream.
      Specified by:
      readString in interface BsonInput
      Returns:
      the string
    • readCString

      public String readCString()
      Description copied from interface: BsonInput
      Reads a BSON CString value from the stream.
      Specified by:
      readCString in interface BsonInput
      Returns:
      the CString
    • skipCString

      public void skipCString()
      Description copied from interface: BsonInput
      Skips a BSON CString value from the stream.
      Specified by:
      skipCString in interface BsonInput
    • skip

      public void skip(int numBytes)
      Description copied from interface: BsonInput
      Skips the specified number of bytes in the stream.
      Specified by:
      skip in interface BsonInput
      Parameters:
      numBytes - the number of bytes to skip
    • getMark

      public BsonInputMark getMark(int readLimit)
      Description copied from interface: BsonInput
      Gets a mark for the current position in the stream.
      Specified by:
      getMark in interface BsonInput
      Parameters:
      readLimit - the maximum limit of bytes that can be read before the mark position becomes invalid
      Returns:
      the mark
    • hasRemaining

      public boolean hasRemaining()
      Description copied from interface: BsonInput
      Returns true if there are more bytes left in the stream.
      Specified by:
      hasRemaining in interface BsonInput
      Returns:
      true if there are more bytes left in the stream.
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface BsonInput
      Specified by:
      close in interface Closeable