- if "granule" in self._record:
- self.__g = MemoryMapObject.GranuleObject(self._record["granule"])
- if "regions" in self._record:
- self.__regions = ArrayObject(self._record["regions"])
- if "width" in self._record:
- self.__width = DataObject.create("width", self._record["width"])
+ for k, v in record.items():
+ if k.startswith("$"):
+ self.ctrl_field[k.strip("$")] = FieldType.create(k, v)
+ elif k.startswith("@"):
+ self.ctrl_field[k.strip("@")] = DataObject.create(k, v)
+
+ if "granule" in record:
+ self.__g = MemoryMapObject.GranuleObject(record["granule"])
+
+ if "regions" in record:
+ self.__regions = ArrayObject(record["regions"])
+
+ if "width" in record:
+ self.__width = DataObject.create("width", record["width"])