Package org.bson

Class BasicBSONEncoder

java.lang.Object
org.bson.BasicBSONEncoder
All Implemented Interfaces:
BSONEncoder

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

    • BasicBSONEncoder

      public BasicBSONEncoder()
  • Method Details

    • encode

      public byte[] encode(BSONObject document)
      Description copied from interface: BSONEncoder
      Encode a document into byte array. This is a shortcut method which creates a new OutputBuffer, invokes the other 3 methods in a corresponding sequence: and returns the contents of the OutputBuffer.
      Specified by:
      encode in interface BSONEncoder
      Parameters:
      document - the document to be encoded
      Returns:
      a byte sequence
    • 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(String name)
      Writes a field name
      Parameters:
      name - the field name
    • _putObjectField

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

      protected void putNull(String name)
      Encodes a null value
      Parameters:
      name - the field name
      See Also:
    • putUndefined

      protected void putUndefined(String name)
      Encodes an undefined value
      Parameters:
      name - the field name
      See Also:
    • putTimestamp

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

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

      protected void putCodeWScope(String name, CodeWScope codeWScope)
      Encodes a field to a BsonType.JAVASCRIPT_WITH_SCOPE value.
      Parameters:
      name - the field name
      codeWScope - the value
    • putBoolean

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

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

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

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

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

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

      protected void putUUID(String name, UUID uuid)
      Encodes a field with a UUID 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(String name, Symbol symbol)
      Encodes a Symbol field
      Parameters:
      name - the field name
      symbol - the value
      See Also:
    • putString

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

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

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

      protected void putArray(String name, Object 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(String name, Iterable iterable)
      Encodes an Iterable, for example List values
      Parameters:
      name - the field name
      iterable - the value
    • putMap

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

      protected int putObject(String 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(String name, Object 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(String name)
      Encodes a field to a BsonType.MIN_KEY value.
      Parameters:
      name - the field name
    • putMaxKey

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