public class BasicBSONEncoder extends Object implements BSONEncoder
| Constructor and Description |
|---|
BasicBSONEncoder() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
_putObjectField(String name,
Object 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 |
putArray(String name,
Object object)
Encodes an array field.
|
protected void |
putBinary(String name,
Binary binary)
Encodes a Binary field
|
protected void |
putBinary(String name,
byte[] bytes)
Encodes a byte array field
|
protected void |
putBoolean(String name,
Boolean value)
Encodes a field with a
Boolean or boolean value |
protected void |
putCode(String name,
Code code)
Encodes a field to a
BsonType.JAVASCRIPT value. |
protected void |
putCodeWScope(String name,
CodeWScope codeWScope)
Encodes a field to a
BsonType.JAVASCRIPT_WITH_SCOPE value. |
protected void |
putDate(String name,
Date date)
Encodes a field with data and time value.
|
protected void |
putDecimal128(String name,
Decimal128 value)
Encodes a Decimal128 field.
|
protected void |
putIterable(String name,
Iterable iterable)
Encodes an Iterable, for example
List values |
protected void |
putMap(String name,
Map map)
Encodes a map, as a BSON document
|
protected void |
putMaxKey(String name)
Encodes a field to a
BsonType.MAX_KEY value. |
protected void |
putMinKey(String name)
Encodes a field to a
BsonType.MIN_KEY value. |
protected void |
putName(String name)
Writes a field name
|
protected void |
putNull(String name)
Encodes a null value
|
protected void |
putNumber(String name,
Number number)
Encodes any number field.
|
int |
putObject(BSONObject document)
Encodes a
BSONObject. |
protected int |
putObject(String name,
BSONObject document)
Encodes any
BSONObject, as a document |
protected void |
putObjectId(String name,
ObjectId objectId)
Encodes an ObjectId field to a
BsonType.OBJECT_ID. |
protected void |
putPattern(String name,
Pattern value)
Encodes a Pattern field to a
BsonType.REGULAR_EXPRESSION. |
protected boolean |
putSpecial(String name,
Object special)
Special values are not encoded into documents.
|
protected void |
putString(String name,
String value)
Encodes a String field
|
protected void |
putSymbol(String name,
Symbol symbol)
Encodes a Symbol field
|
protected void |
putTimestamp(String name,
BSONTimestamp timestamp)
Encodes a BSON timestamp
|
protected void |
putUndefined(String name)
Encodes an undefined value
|
protected void |
putUUID(String name,
UUID uuid)
Encodes a field with a
UUID value. |
void |
set(OutputBuffer buffer)
Sets the buffer to wrich the result of encoding will be written.
|
public byte[] encode(BSONObject document)
BSONEncoderOutputBuffer,
invokes the other 3 methods in a corresponding sequence:
and returns the contents of the OutputBuffer.encode in interface BSONEncoderdocument - the document to be encodedpublic void done()
BSONEncoderdone in interface BSONEncoderpublic void set(OutputBuffer buffer)
BSONEncoderset in interface BSONEncoderbuffer - the buffer to be used to write a byte sequences toprotected OutputBuffer getOutputBuffer()
protected BsonBinaryWriter getBsonWriter()
public int putObject(BSONObject document)
BSONObject. This is for the higher level api calls.putObject in interface BSONEncoderdocument - the document to encodeprotected void putName(String name)
name - the field nameprotected void _putObjectField(String name, Object initialValue)
name - the field nameinitialValue - the value to writeprotected void putNull(String name)
name - the field nameBsonType.NULLprotected void putUndefined(String name)
name - the field nameBsonType.UNDEFINEDprotected void putTimestamp(String name, BSONTimestamp timestamp)
name - the field nametimestamp - the timestamp to encodeBsonType.TIMESTAMPprotected void putCode(String name, Code code)
BsonType.JAVASCRIPT value.name - the field namecode - the valueprotected void putCodeWScope(String name, CodeWScope codeWScope)
BsonType.JAVASCRIPT_WITH_SCOPE value.name - the field namecodeWScope - the valueprotected void putBoolean(String name, Boolean value)
Boolean or boolean valuename - the field namevalue - the valueprotected void putDate(String name, Date date)
name - the field namedate - the valueBsonType.DATE_TIMEprotected void putNumber(String name, Number number)
name - the field namenumber - the valueprotected void putDecimal128(String name, Decimal128 value)
name - the field namevalue - the valueprotected void putBinary(String name, byte[] bytes)
name - the field namebytes - the valueBsonType.BINARYprotected void putBinary(String name, Binary binary)
name - the field namebinary - the valueBsonType.BINARYprotected void putUUID(String name, UUID uuid)
UUID value. This is encoded to a binary value of subtype BsonBinarySubType.UUID_LEGACYname - the field nameuuid - the valueprotected void putSymbol(String name, Symbol symbol)
name - the field namesymbol - the valueBsonType.SYMBOLprotected void putString(String name, String value)
name - the field namevalue - the valueBsonType.STRINGprotected void putPattern(String name, Pattern value)
BsonType.REGULAR_EXPRESSION.name - the field namevalue - the valueBsonType.BINARYprotected void putObjectId(String name, ObjectId objectId)
BsonType.OBJECT_ID.name - the field nameobjectId - the valueprotected void putArray(String name, Object object)
name - the field nameobject - the array, which can be any sort of primitive or String arrayprotected void putIterable(String name, Iterable iterable)
List valuesname - the field nameiterable - the valueprotected void putMap(String name, Map map)
name - the field namemap - the valueprotected int putObject(String name, BSONObject document)
BSONObject, as a documentname - the field namedocument - the valueprotected boolean putSpecial(String name, Object special)
name - the field namespecial - the valueprotected void putMinKey(String name)
BsonType.MIN_KEY value.name - the field nameprotected void putMaxKey(String name)
BsonType.MAX_KEY value.name - the field name