Dart DocumentationbsonBsonMap

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

new BsonMap(Map data) #

Creates a new Object instance.

Object instances have no meaningful state, and are only useful through their identity. An Object instance is equal to itself only.

docs inherited from Object
BsonMap(this.data);

Properties

Map data #

Map data

final int typeByte #

int get typeByte => _BSON_DATA_OBJECT;

Map utfKeys #

Map utfKeys

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();
 }
}