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