Package org.bson.io

Interface BsonInput

All Superinterfaces:
AutoCloseable, Closeable
All Known Implementing Classes:
ByteBufferBsonInput

public interface BsonInput extends Closeable
An input stream that is optimized for reading BSON values directly from the underlying stream.
Since:
3.0
  • 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.
  • Method Details

    • getPosition

      int getPosition()
      Gets the current position in the stream
      Returns:
      the current position
    • readByte

      byte readByte()
      Reads a single byte from the stream
      Returns:
      the byte value
    • readBytes

      void readBytes(byte[] bytes)
      Reads the specified number of bytes into the given byte array. This is equivalent to readBytes(bytes, 0, bytes.length).
      Parameters:
      bytes - the byte array to write into
    • readBytes

      void readBytes(byte[] bytes, int offset, int length)
      Reads the specified number of bytes into the given byte array starting at the specified offset.
      Parameters:
      bytes - the byte array to write into
      offset - the offset to start writing
      length - the number of bytes to write
    • readInt64

      long readInt64()
      Reads a BSON Int64 value from the stream.
      Returns:
      the Int64 value
    • readDouble

      double readDouble()
      Reads a BSON Double value from the stream.
      Returns:
      the double value
    • readInt32

      int readInt32()
      Reads a BSON Int32 value from the stream.
      Returns:
      the Int32 value
    • readString

      String readString()
      Reads a BSON String value from the stream.
      Returns:
      the string
    • readObjectId

      ObjectId readObjectId()
      Reads a BSON ObjectId value from the stream.
      Returns:
      the ObjectId
    • readCString

      String readCString()
      Reads a BSON CString value from the stream.
      Returns:
      the CString
    • skipCString

      void skipCString()
      Skips a BSON CString value from the stream.
    • skip

      void skip(int numBytes)
      Skips the specified number of bytes in the stream.
      Parameters:
      numBytes - the number of bytes to skip
    • getMark

      BsonInputMark getMark(int readLimit)
      Gets a mark for the current position in the stream.
      Parameters:
      readLimit - the maximum limit of bytes that can be read before the mark position becomes invalid
      Returns:
      the mark
      Since:
      3.7
    • hasRemaining

      boolean hasRemaining()
      Returns true if there are more bytes left in the stream.
      Returns:
      true if there are more bytes left in the stream.
    • close

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