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

        clone, equals, finalize, 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