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.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.
-
Constructor Details
-
BasicBSONEncoder
public BasicBSONEncoder()
-
-
Method Details
-
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
-