readValueOfType method
Reads a value of the indicated type
from buffer
.
The codec can be extended by overriding this method, calling super for types that the extension does not handle. See the discussion at writeValue.
Implementation
@override
Object? readValueOfType(int type, ReadBuffer buffer) {
switch (type) {
case _kUri:
final int length = readSize(buffer);
return utf8.decoder.convert(buffer.getUint8List(length));
case _kBundle:
final int length = readSize(buffer);
final Map<String, Object?> result = <String, Object?>{};
for (int i = 0; i < length; i++) {
result[readValue(buffer) as String] = readValue(buffer);
}
return result;
case _kContentValues:
final int length = readSize(buffer);
final Map<String, Object?> result = <String, Object?>{};
for (int i = 0; i < length; i++) {
result[readValue(buffer) as String] = readValue(buffer);
}
return ContentValues._(result);
case _kByte:
case _kShort:
case _kInteger:
return buffer.getInt32();
case _kLong:
return buffer.getInt64();
case _kFloat:
case _kDouble:
return buffer.getFloat64();
default:
return super.readValueOfType(type, buffer);
}
}