readObject function
Read an object from ByteArrayInputStream. @param in the byteArrayInputStream to use @return return the object read @throws IOException if object cannot be read
Implementation
Future<Serializer> readObject(final ByteStream inStream) async {
final uidBytes = await inStream.peekBytes(SerializerHelper.longSize * 2);
final uid = SerializerHelper.byteArrayToLong(
uidBytes.sublist(SerializerHelper.longSize));
switch (uid) {
case StorableString.serialVersionUID:
return StorableString.fromByteArrayStream(inStream);
case StorableHashMap.serialVersionUID:
return StorableHashMap.fromByteArrayStream(inStream, StorableHashMap());
case PluginInformation.serialVersionUID:
return PluginInformation.fromByteArrayStream(inStream);
case MenuItem.serialVersionUID:
return MenuItem.fromByteArrayStream(inStream);
case GeigerUrl.serialVersionUID:
return GeigerUrl.fromByteArrayStream(inStream);
case Hash.serialVersionUID:
return Hash.fromByteArrayStream(inStream);
default:
throw StorageException('unable to parse $uid');
}
}