getObjectBoxModel function
Returns the ObjectBox model definition for this project for use with obx.Store.new.
Implementation
obx_int.ModelDefinition getObjectBoxModel() {
final model = obx_int.ModelInfo(
entities: _entities,
lastEntityId: const obx_int.IdUid(4, 9160064887395371876),
lastIndexId: const obx_int.IdUid(0, 0),
lastRelationId: const obx_int.IdUid(0, 0),
lastSequenceId: const obx_int.IdUid(0, 0),
retiredEntityUids: const [6072440110067899483, 6674380074645599672],
retiredIndexUids: const [],
retiredPropertyUids: const [
3257500603860786490,
7184596676276845706,
4125859010512694816,
7999642378580237386,
1774581651058165040,
6648500980729496271,
5083381345625000545,
8316824247462543173,
2878691409008529064,
8553239779623812279,
136166845008193984,
4333210679318052728,
667664151190914925,
6348219516869610320,
8259691590146978420,
],
retiredRelationUids: const [],
modelVersion: 5,
modelVersionParserMinimum: 5,
version: 1,
);
final bindings = <Type, obx_int.EntityDefinition>{
ProductModel: obx_int.EntityDefinition<ProductModel>(
model: _entities[0],
toOneRelations: (ProductModel object) => [],
toManyRelations: (ProductModel object) => {},
getId: (ProductModel object) => object.id,
setId: (ProductModel object, int id) {
object.id = id;
},
objectToFB: (ProductModel object, fb.Builder fbb) {
final nameOffset = fbb.writeString(object.name);
final serialNumberOffset = fbb.writeString(object.serialNumber);
final manufactureOffset = fbb.writeString(object.manufacture);
final categoryOffset = fbb.writeString(object.category);
final onErrorOffset = fbb.writeString(object.onError);
fbb.startTable(8);
fbb.addInt64(0, object.id);
fbb.addOffset(1, nameOffset);
fbb.addOffset(2, serialNumberOffset);
fbb.addOffset(3, manufactureOffset);
fbb.addOffset(4, categoryOffset);
fbb.addBool(5, object.trusted);
fbb.addOffset(6, onErrorOffset);
fbb.finish(fbb.endTable());
return object.id;
},
objectFromFB: (obx.Store store, ByteData fbData) {
final buffer = fb.BufferContext(fbData);
final rootOffset = buffer.derefObject(0);
final idParam = const fb.Int64Reader().vTableGet(
buffer,
rootOffset,
4,
0,
);
final nameParam = const fb.StringReader(
asciiOptimization: true,
).vTableGet(buffer, rootOffset, 6, '');
final serialNumberParam = const fb.StringReader(
asciiOptimization: true,
).vTableGet(buffer, rootOffset, 8, '');
final manufactureParam = const fb.StringReader(
asciiOptimization: true,
).vTableGet(buffer, rootOffset, 10, '');
final categoryParam = const fb.StringReader(
asciiOptimization: true,
).vTableGet(buffer, rootOffset, 12, '');
final trustedParam = const fb.BoolReader().vTableGet(
buffer,
rootOffset,
14,
false,
);
final onErrorParam = const fb.StringReader(
asciiOptimization: true,
).vTableGet(buffer, rootOffset, 16, '');
final object = ProductModel(
id: idParam,
name: nameParam,
serialNumber: serialNumberParam,
manufacture: manufactureParam,
category: categoryParam,
trusted: trustedParam,
onError: onErrorParam,
);
return object;
},
),
ScannedLogsProductModel: obx_int.EntityDefinition<ScannedLogsProductModel>(
model: _entities[1],
toOneRelations: (ScannedLogsProductModel object) => [],
toManyRelations: (ScannedLogsProductModel object) => {},
getId: (ScannedLogsProductModel object) => object.id,
setId: (ScannedLogsProductModel object, int id) {
object.id = id;
},
objectToFB: (ScannedLogsProductModel object, fb.Builder fbb) {
final nameOffset = fbb.writeString(object.name);
final serialNumberOffset = fbb.writeString(object.serialNumber);
final manufactureOffset = fbb.writeString(object.manufacture);
final categoryOffset = fbb.writeString(object.category);
final onErrorOffset = fbb.writeString(object.onError);
fbb.startTable(9);
fbb.addInt64(0, object.id);
fbb.addOffset(1, nameOffset);
fbb.addOffset(2, serialNumberOffset);
fbb.addOffset(3, manufactureOffset);
fbb.addOffset(4, categoryOffset);
fbb.addBool(5, object.trusted);
fbb.addOffset(6, onErrorOffset);
fbb.addInt64(7, object.scannedAt.millisecondsSinceEpoch);
fbb.finish(fbb.endTable());
return object.id;
},
objectFromFB: (obx.Store store, ByteData fbData) {
final buffer = fb.BufferContext(fbData);
final rootOffset = buffer.derefObject(0);
final idParam = const fb.Int64Reader().vTableGet(
buffer,
rootOffset,
4,
0,
);
final nameParam = const fb.StringReader(
asciiOptimization: true,
).vTableGet(buffer, rootOffset, 6, '');
final serialNumberParam = const fb.StringReader(
asciiOptimization: true,
).vTableGet(buffer, rootOffset, 8, '');
final manufactureParam = const fb.StringReader(
asciiOptimization: true,
).vTableGet(buffer, rootOffset, 10, '');
final categoryParam = const fb.StringReader(
asciiOptimization: true,
).vTableGet(buffer, rootOffset, 12, '');
final trustedParam = const fb.BoolReader().vTableGet(
buffer,
rootOffset,
14,
false,
);
final onErrorParam = const fb.StringReader(
asciiOptimization: true,
).vTableGet(buffer, rootOffset, 16, '');
final scannedAtParam = DateTime.fromMillisecondsSinceEpoch(
const fb.Int64Reader().vTableGet(buffer, rootOffset, 18, 0),
);
final object = ScannedLogsProductModel(
id: idParam,
name: nameParam,
serialNumber: serialNumberParam,
manufacture: manufactureParam,
category: categoryParam,
trusted: trustedParam,
onError: onErrorParam,
scannedAt: scannedAtParam,
);
return object;
},
),
};
return obx_int.ModelDefinition(model, bindings);
}