read method

  1. @override
TeachingUnit read(
  1. BinaryReader reader
)
override

Is called when a value has to be decoded.

Implementation

@override
TeachingUnit read(BinaryReader reader) {
  final numOfFields = reader.readByte();
  final fields = <int, dynamic>{
    for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
  };
  return TeachingUnit(
    fields[0] == null ? '' : fields[0] as String,
    fields[1] == null ? [] : (fields[1] as List).cast<Teacher>(),
    fields[2] == null ? [] : (fields[2] as List).cast<Grade>(),
    fields[6] == null ? [] : (fields[6] as List).cast<TomussText>(),
    fields[7] == null ? [] : (fields[7] as List).cast<Enumeration>(),
    fields[8] == null ? [] : (fields[8] as List).cast<Presence>(),
    fields[9] == null ? [] : (fields[9] as List).cast<StageCode>(),
    fields[10] == null ? [] : (fields[10] as List).cast<Upload>(),
    fields[11] == null ? [] : (fields[11] as List).cast<URL>(),
    fields[12] == null ? '' : fields[12] as String,
    fields[13] == null ? '' : fields[13] as String,
  );
}