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