Package org.bson
Class BasicBSONEncoder
java.lang.Object
org.bson.BasicBSONEncoder
- All Implemented Interfaces:
BSONEncoder
This is meant to be pooled or cached. There is some per instance memory for string conversion, etc...
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void_putObjectField(String name, Object value) Encodes any Object typevoiddone()Free the resources.byte[]encode(BSONObject document) Encode a document into byte array.protected BsonBinaryWriterGets the writer responsible for writing the encoded BSON.static UuidRepresentationSets the defaultUuidRepresentationto use when encoding UUID values to BSON binary.protected OutputBufferGets the buffer the BSON is being encoded into.protected voidEncodes an array field.protected voidEncodes a byte array fieldprotected voidEncodes a Binary fieldprotected voidputBoolean(String name, Boolean value) Encodes a field with aBooleanorbooleanvalueprotected voidEncodes a field to aBsonType.JAVASCRIPTvalue.protected voidputCodeWScope(String name, CodeWScope codeWScope) Encodes a field to aBsonType.JAVASCRIPT_WITH_SCOPEvalue.protected voidEncodes a field with data and time value.protected voidputDecimal128(String name, Decimal128 value) Encodes a Decimal128 field.protected voidputIterable(String name, Iterable iterable) Encodes an Iterable, for exampleListvaluesprotected voidEncodes a map, as a BSON documentprotected voidEncodes a field to aBsonType.MAX_KEYvalue.protected voidEncodes a field to aBsonType.MIN_KEYvalue.protected voidWrites a field nameprotected voidEncodes a null valueprotected voidEncodes any number field.protected intputObject(String name, BSONObject document) Encodes anyBSONObject, as a documentintputObject(BSONObject document) Encodes aBSONObject.protected voidputObjectId(String name, ObjectId objectId) Encodes an ObjectId field to aBsonType.OBJECT_ID.protected voidputPattern(String name, Pattern value) Encodes a Pattern field to aBsonType.REGULAR_EXPRESSION.protected booleanputSpecial(String name, Object special) Special values are not encoded into documents.protected voidEncodes a String fieldprotected voidEncodes a Symbol fieldprotected voidputTimestamp(String name, BSONTimestamp timestamp) Encodes a BSON timestampprotected voidputUndefined(String name) Encodes an undefined valueprotected voidEncodes a field with aUUIDvalue.voidset(OutputBuffer buffer) Sets the buffer to wrich the result of encoding will be written.static voidsetDefaultUuidRepresentation(UuidRepresentation uuidRepresentation) Sets the global (JVM-wide)UuidRepresentationto use when encoding UUID values to BSON binary.
-
Constructor Details
-
BasicBSONEncoder
public BasicBSONEncoder()
-
-
Method Details
-
setDefaultUuidRepresentation
Sets the global (JVM-wide)UuidRepresentationto use when encoding UUID values to BSON binary.Defaults to
UuidRepresentation.JAVA_LEGACY. If set toUuidRepresentation.UNSPECIFIED, attempting to encode any UUID will throw aBSONException.- Parameters:
uuidRepresentation- the uuid representation, which may not be null- Since:
- 4.7
- See Also:
-
getDefaultUuidRepresentation
Sets the defaultUuidRepresentationto use when encoding UUID values to BSON binary.If unset, the default is
UuidRepresentation.JAVA_LEGACY.- Returns:
- the uuid representation, which may not be null
- Since:
- 4.7
- See Also:
-
encode
Description copied from interface:BSONEncoderEncode a document into byte array. This is a shortcut method which creates a newOutputBuffer, invokes the other 3 methods in a corresponding sequence: and returns the contents of theOutputBuffer.- Specified by:
encodein interfaceBSONEncoder- Parameters:
document- the document to be encoded- Returns:
- a byte sequence
-
done
public void done()Description copied from interface:BSONEncoderFree the resources.- Specified by:
donein interfaceBSONEncoder
-
set
Description copied from interface:BSONEncoderSets the buffer to wrich the result of encoding will be written.- Specified by:
setin interfaceBSONEncoder- Parameters:
buffer- the buffer to be used to write a byte sequences to
-
getOutputBuffer
Gets the buffer the BSON is being encoded into.- Returns:
- the OutputBuffer
-
getBsonWriter
Gets the writer responsible for writing the encoded BSON.- Returns:
- the writer used to write the encoded BSON
-
putObject
Encodes aBSONObject. This is for the higher level api calls.- Specified by:
putObjectin interfaceBSONEncoder- Parameters:
document- the document to encode- Returns:
- the number of characters in the encoding
-
putName
Writes a field name- Parameters:
name- the field name
-
_putObjectField
Encodes any Object type- Parameters:
name- the field namevalue- the value to write
-
putNull
Encodes a null value- Parameters:
name- the field name- See Also:
-
putUndefined
Encodes an undefined value- Parameters:
name- the field name- See Also:
-
putTimestamp
Encodes a BSON timestamp- Parameters:
name- the field nametimestamp- the timestamp to encode- See Also:
-
putCode
Encodes a field to aBsonType.JAVASCRIPTvalue.- Parameters:
name- the field namecode- the value
-
putCodeWScope
Encodes a field to aBsonType.JAVASCRIPT_WITH_SCOPEvalue.- Parameters:
name- the field namecodeWScope- the value
-
putBoolean
Encodes a field with aBooleanorbooleanvalue- Parameters:
name- the field namevalue- the value
-
putDate
Encodes a field with data and time value.- Parameters:
name- the field namedate- the value- See Also:
-
putNumber
Encodes any number field.- Parameters:
name- the field namenumber- the value
-
putDecimal128
Encodes a Decimal128 field.- Parameters:
name- the field namevalue- the value- Since:
- 3.4
- Since server release
- 3.4
-
putBinary
Encodes a byte array field- Parameters:
name- the field namebytes- the value- See Also:
-
putBinary
Encodes a Binary field- Parameters:
name- the field namebinary- the value- See Also:
-
putUUID
Encodes a field with aUUIDvalue. This is encoded to a binary value of subtypeBsonBinarySubType.UUID_LEGACY- Parameters:
name- the field nameuuid- the value
-
putSymbol
Encodes a Symbol field- Parameters:
name- the field namesymbol- the value- See Also:
-
putString
Encodes a String field- Parameters:
name- the field namevalue- the value- See Also:
-
putPattern
Encodes a Pattern field to aBsonType.REGULAR_EXPRESSION.- Parameters:
name- the field namevalue- the value- See Also:
- MongoDB documentation
- $regex
-
putObjectId
Encodes an ObjectId field to aBsonType.OBJECT_ID.- Parameters:
name- the field nameobjectId- the value
-
putArray
Encodes an array field.- Parameters:
name- the field nameobject- the array, which can be any sort of primitive or String array
-
putIterable
Encodes an Iterable, for exampleListvalues- Parameters:
name- the field nameiterable- the value
-
putMap
Encodes a map, as a BSON document- Parameters:
name- the field namemap- the value
-
putObject
Encodes anyBSONObject, as a document- Parameters:
name- the field namedocument- the value- Returns:
- the number of characters in the encoding
-
putSpecial
Special values are not encoded into documents.- Parameters:
name- the field namespecial- the value- Returns:
- true if the operation is successful. This implementation always returns false.
-
putMinKey
Encodes a field to aBsonType.MIN_KEYvalue.- Parameters:
name- the field name
-
putMaxKey
Encodes a field to aBsonType.MAX_KEYvalue.- Parameters:
name- the field name
-