Dart DocumentationbsonBsonArray

BsonArray class

class BsonArray extends BsonObject{
 List data;
 int _dataSize;
 int dataSize(){
   if (_dataSize == null){
     _dataSize = 0;
     for(var i = 0; i < data.length; i++) {
       _dataSize += elementSize(i.toString(), data[i]);
     }
   }
   return _dataSize;
 }

 BsonArray(this.data);
 get value=>data;
 byteLength()=>dataSize()+1+4;
 int get typeByte => _BSON_DATA_ARRAY;
 packValue(BsonBinary buffer){
   buffer.writeInt(byteLength());
     for(var i = 0; i < data.length; i++) {
        bsonObjectFrom(data[i]).packElement(i.toString() ,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.add(element.value);
     typeByte = buffer.readByte();
   }
 }

}

Extends

BsonObject > BsonArray

Constructors

new BsonArray(List 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
BsonArray(this.data);

Properties

List data #

List data

final int typeByte #

int get typeByte => _BSON_DATA_ARRAY;

final value #

get value=>data;

Methods

dynamic byteLength() #

byteLength()=>dataSize()+1+4;

int dataSize() #

int dataSize(){
 if (_dataSize == null){
   _dataSize = 0;
   for(var i = 0; i < data.length; i++) {
     _dataSize += elementSize(i.toString(), data[i]);
   }
 }
 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());
   for(var i = 0; i < data.length; i++) {
      bsonObjectFrom(data[i]).packElement(i.toString() ,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.add(element.value);
   typeByte = buffer.readByte();
 }
}