Package org.bson

Class BasicBSONEncoder

  • All Implemented Interfaces:
    BSONEncoder
    Direct Known Subclasses:
    DefaultDBEncoder

    public class BasicBSONEncoder
    extends 
    implements BSONEncoder
    This is meant to be pooled or cached. There is some per instance memory for string conversion, etc...
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void  name,  initialValue)
      Encodes any Object type
      void done()
      Free the resources.
      byte[] encode​(BSONObject document)
      Encode a document into byte array.
      protected BsonBinaryWriter getBsonWriter()
      Gets the writer responsible for writing the encoded BSON.
      protected OutputBuffer getOutputBuffer()
      Gets the buffer the BSON is being encoded into.
      protected void  name,  object)
      Encodes an array field.
      protected void  name, byte[] bytes)
      Encodes a byte array field
      protected void  name, Binary binary)
      Encodes a Binary field
      protected void  name,  value)
      Encodes a field with a Boolean or boolean value
      protected void  name, Code code)
      Encodes a field to a BsonType.JAVASCRIPT value.
      protected void  name, CodeWScope codeWScope)
      Encodes a field to a BsonType.JAVASCRIPT_WITH_SCOPE value.
      protected void  name,  date)
      Encodes a field with data and time value.
      protected void  name, Decimal128 value)
      Encodes a Decimal128 field.
      protected void  name,  iterable)
      Encodes an Iterable, for example List values
      protected void  name,  map)
      Encodes a map, as a BSON document
      protected void  name)
      Encodes a field to a BsonType.MAX_KEY value.
      protected void  name)
      Encodes a field to a BsonType.MIN_KEY value.
      protected void  name)
      Writes a field name
      protected void  name)
      Encodes a null value
      protected void  name,  number)
      Encodes any number field.
      protected int  name, BSONObject document)
      Encodes any BSONObject, as a document
      int putObject​(BSONObject document)
      Encodes a BSONObject.
      protected void  name, ObjectId objectId)
      Encodes an ObjectId field to a BsonType.OBJECT_ID.
      protected void  name,  value)
      Encodes a Pattern field to a BsonType.REGULAR_EXPRESSION.
      protected boolean  name,  special)
      Special values are not encoded into documents.
      protected void  name,  value)
      Encodes a String field
      protected void  name, Symbol symbol)
      Encodes a Symbol field
      protected void  name, BSONTimestamp timestamp)
      Encodes a BSON timestamp
      protected void  name)
      Encodes an undefined value
      protected void  name,  uuid)
      Encodes a field with a value.
      void set​(OutputBuffer buffer)
      Sets the buffer to wrich the result of encoding will be written.
      • Methods inherited from class java.lang.

        , , , , , , , , , ,
    • Constructor Detail

      • BasicBSONEncoder

        public BasicBSONEncoder()
    • Method Detail

      • done

        public void done()
        Description copied from interface: BSONEncoder
        Free the resources.
        Specified by:
        done in interface BSONEncoder
      • set

        public void set​(OutputBuffer buffer)
        Description copied from interface: BSONEncoder
        Sets the buffer to wrich the result of encoding will be written.
        Specified by:
        set in interface BSONEncoder
        Parameters:
        buffer - the buffer to be used to write a byte sequences to
      • getOutputBuffer

        protected OutputBuffer getOutputBuffer()
        Gets the buffer the BSON is being encoded into.
        Returns:
        the OutputBuffer
      • getBsonWriter

        protected BsonBinaryWriter getBsonWriter()
        Gets the writer responsible for writing the encoded BSON.
        Returns:
        the writer used to write the encoded BSON
      • putObject

        public int putObject​(BSONObject document)
        Encodes a BSONObject. This is for the higher level api calls.
        Specified by:
        putObject in interface BSONEncoder
        Parameters:
        document - the document to encode
        Returns:
        the number of characters in the encoding
      • putName

        protected void putName​( name)
        Writes a field name
        Parameters:
        name - the field name
      • _putObjectField

        protected void _putObjectField​( name,
                                        initialValue)
        Encodes any Object type
        Parameters:
        name - the field name
        initialValue - the value to write
      • putNull

        protected void putNull​( name)
        Encodes a null value
        Parameters:
        name - the field name
        See Also:
        BsonType.NULL
      • putUndefined

        protected void putUndefined​( name)
        Encodes an undefined value
        Parameters:
        name - the field name
        See Also:
        BsonType.UNDEFINED
      • putTimestamp

        protected void putTimestamp​( name,
                                    BSONTimestamp timestamp)
        Encodes a BSON timestamp
        Parameters:
        name - the field name
        timestamp - the timestamp to encode
        See Also:
        BsonType.TIMESTAMP
      • putCode

        protected void putCode​( name,
                               Code code)
        Encodes a field to a BsonType.JAVASCRIPT value.
        Parameters:
        name - the field name
        code - the value
      • putBoolean

        protected void putBoolean​( name,
                                   value)
        Encodes a field with a Boolean or boolean value
        Parameters:
        name - the field name
        value - the value
      • putDate

        protected void putDate​( name,
                                date)
        Encodes a field with data and time value.
        Parameters:
        name - the field name
        date - the value
        See Also:
        BsonType.DATE_TIME
      • putNumber

        protected void putNumber​( name,
                                  number)
        Encodes any number field.
        Parameters:
        name - the field name
        number - the value
      • putDecimal128

        protected void putDecimal128​( name,
                                     Decimal128 value)
        Encodes a Decimal128 field.
        Parameters:
        name - the field name
        value - the value
        Since:
        3.4
        Since server release
      • putBinary

        protected void putBinary​( name,
                                 byte[] bytes)
        Encodes a byte array field
        Parameters:
        name - the field name
        bytes - the value
        See Also:
        BsonType.BINARY
      • putBinary

        protected void putBinary​( name,
                                 Binary binary)
        Encodes a Binary field
        Parameters:
        name - the field name
        binary - the value
        See Also:
        BsonType.BINARY
      • putUUID

        protected void putUUID​( name,
                                uuid)
        Encodes a field with a value. This is encoded to a binary value of subtype BsonBinarySubType.UUID_LEGACY
        Parameters:
        name - the field name
        uuid - the value
      • putSymbol

        protected void putSymbol​( name,
                                 Symbol symbol)
        Encodes a Symbol field
        Parameters:
        name - the field name
        symbol - the value
        See Also:
        BsonType.SYMBOL
      • putString

        protected void putString​( name,
                                  value)
        Encodes a String field
        Parameters:
        name - the field name
        value - the value
        See Also:
        BsonType.STRING
      • putPattern

        protected void putPattern​( name,
                                   value)
        Encodes a Pattern field to a BsonType.REGULAR_EXPRESSION.
        Parameters:
        name - the field name
        value - the value
        See Also:
        BsonType.BINARY
        MongoDB documentation
      • putObjectId

        protected void putObjectId​( name,
                                   ObjectId objectId)
        Encodes an ObjectId field to a BsonType.OBJECT_ID.
        Parameters:
        name - the field name
        objectId - the value
      • putArray

        protected void putArray​( name,
                                 object)
        Encodes an array field.
        Parameters:
        name - the field name
        object - the array, which can be any sort of primitive or String array
      • putIterable

        protected void putIterable​( name,
                                    iterable)
        Encodes an Iterable, for example List values
        Parameters:
        name - the field name
        iterable - the value
      • putMap

        protected void putMap​( name,
                               map)
        Encodes a map, as a BSON document
        Parameters:
        name - the field name
        map - the value
      • putObject

        protected int putObject​( name,
                                BSONObject document)
        Encodes any BSONObject, as a document
        Parameters:
        name - the field name
        document - the value
        Returns:
        the number of characters in the encoding
      • putSpecial

        protected boolean putSpecial​( name,
                                      special)
        Special values are not encoded into documents.
        Parameters:
        name - the field name
        special - the value
        Returns:
        true if the operation is successful. This implementation always returns false.
      • putMinKey

        protected void putMinKey​( name)
        Encodes a field to a BsonType.MIN_KEY value.
        Parameters:
        name - the field name
      • putMaxKey

        protected void putMaxKey​( name)
        Encodes a field to a BsonType.MAX_KEY value.
        Parameters:
        name - the field name