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.
    default void
    pipe(BsonOutput output, int numBytes)
    Pipes the specified number of bytes from this input to the given output.
    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.
    • pipe

      default void pipe(BsonOutput output, int numBytes)
      Pipes the specified number of bytes from this input to the given output.
      Parameters:
      output - the output to pipe to
      numBytes - the number of bytes to pipe
      Since:
      5.8
    • close

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