BsonMap class
class BsonMap extends BsonObject{ Map data; Map utfKeys; int _dataSize; int dataSize(){ if (_dataSize == null){ _dataSize = 0; data.forEach((String key, var value) { _dataSize += elementSize(key, value); }); } return _dataSize; } BsonMap(this.data); get value=>data; byteLength()=>dataSize()+1+4; int get typeByte => _BSON_DATA_OBJECT; packValue(BsonBinary buffer){ buffer.writeInt(byteLength()); data.forEach((var key, var value) { bsonObjectFrom(value).packElement(key ,buffer); }); buffer.writeByte(0); } unpackValue(BsonBinary buffer){ data = {}; buffer.offset += 4; int typeByte = buffer.readByte(); while (typeByte != 0){ BsonObject bsonObject = bsonObjectFromTypeByte(typeByte); var element = bsonObject.unpackElement(buffer); data[element.name] = element.value; typeByte = buffer.readByte(); } } }
Extends
BsonObject > BsonMap
Constructors
Properties
final value #
get value=>data;
Methods
dynamic byteLength() #
byteLength()=>dataSize()+1+4;
int dataSize() #
int dataSize(){ if (_dataSize == null){ _dataSize = 0; data.forEach((String key, var value) { _dataSize += elementSize(key, value); }); } return _dataSize; }
dynamic packElement(String name, buffer) #
inherited from BsonObject
packElement(String name, var buffer){ buffer.writeByte(typeByte); if (name != null){ new BsonCString(name).packValue(buffer); } packValue(buffer); }
dynamic packValue(BsonBinary buffer) #
packValue(BsonBinary buffer){ buffer.writeInt(byteLength()); data.forEach((var key, var value) { bsonObjectFrom(value).packElement(key ,buffer); }); buffer.writeByte(0); }
_ElementPair unpackElement(buffer) #
inherited from BsonObject
_ElementPair unpackElement(buffer){ _ElementPair result = new _ElementPair(); result.name = buffer.readCString(); unpackValue(buffer); result.value = value; return result; }
dynamic unpackValue(BsonBinary buffer) #
unpackValue(BsonBinary buffer){ data = {}; buffer.offset += 4; int typeByte = buffer.readByte(); while (typeByte != 0){ BsonObject bsonObject = bsonObjectFromTypeByte(typeByte); var element = bsonObject.unpackElement(buffer); data[element.name] = element.value; typeByte = buffer.readByte(); } }