Package org.bson.io

Class ByteBufferBsonInput

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

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

      Constructors 
      Constructor Description
      ByteBufferBsonInput​(ByteBuf buffer)
      Construct an instance with the given byte buffer.
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void close()  
      BsonInputMark getMark​(int readLimit)
      Gets a mark for the current position in the stream.
      int getPosition()
      Gets the current position in the stream
      boolean hasRemaining()
      Returns true if there are more bytes left in the stream.
      void mark​(int readLimit)
      Deprecated.
      byte readByte()
      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.
      java.lang.String readCString()
      Reads a BSON CString value from the stream.
      double readDouble()
      Reads a BSON Double value from the stream.
      int readInt32()
      Reads a BSON Int32 value from the stream.
      long readInt64()
      Reads a BSON Int64 value from the stream.
      ObjectId readObjectId()
      Reads a BSON ObjectId value from the stream.
      java.lang.String readString()
      Reads a BSON String value from the stream.
      void reset()
      Deprecated.
      void skip​(int numBytes)
      Skips the specified number of bytes in the stream.
      void skipCString()
      Skips a BSON CString value from the stream.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • 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 Detail

      • 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 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 java.lang.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 java.lang.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
      • mark

        @Deprecated
        public void mark​(int readLimit)
        Deprecated.
        Description copied from interface: BsonInput
        Marks the current position in the stream. This method obeys the contract as specified in the same method in InputStream.
        Specified by:
        mark in interface BsonInput
        Parameters:
        readLimit - the maximum limit of bytes that can be read before the mark position becomes invalid
      • 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
      • reset

        @Deprecated
        public void reset()
        Deprecated.
        Description copied from interface: BsonInput
        Resets the stream to the current mark. This method obeys the contract as specified in the same method in InputStream.
        Specified by:
        reset in interface BsonInput
      • 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 java.lang.AutoCloseable
        Specified by:
        close in interface BsonInput
        Specified by:
        close in interface java.io.Closeable