getObjectBoxModel function
ModelDefinition
getObjectBoxModel()
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(1, 1692653621568995334),
lastIndexId: const obx_int.IdUid(1, 8047035678905288981),
lastRelationId: const obx_int.IdUid(0, 0),
lastSequenceId: const obx_int.IdUid(0, 0),
retiredEntityUids: const [],
retiredIndexUids: const [],
retiredPropertyUids: const [],
retiredRelationUids: const [],
modelVersion: 5,
modelVersionParserMinimum: 5,
version: 1,
);
final bindings = <Type, obx_int.EntityDefinition>{
ScreenEntity: obx_int.EntityDefinition<ScreenEntity>(
model: _entities[0],
toOneRelations: (ScreenEntity object) => [],
toManyRelations: (ScreenEntity object) => {},
getId: (ScreenEntity object) => object.id,
setId: (ScreenEntity object, int id) {
object.id = id;
},
objectToFB: (ScreenEntity object, fb.Builder fbb) {
final screenIdOffset = fbb.writeString(object.screenId);
final nameOffset = fbb.writeString(object.name);
final jsonDataOffset = fbb.writeString(object.jsonData);
final syncStatusOffset = fbb.writeString(object.syncStatus);
final remoteVersionOffset = object.remoteVersion == null
? null
: fbb.writeString(object.remoteVersion!);
fbb.startTable(13);
fbb.addInt64(0, object.id);
fbb.addOffset(1, screenIdOffset);
fbb.addOffset(2, nameOffset);
fbb.addInt64(3, object.version);
fbb.addOffset(4, jsonDataOffset);
fbb.addInt64(5, object.lastUpdated);
fbb.addOffset(6, syncStatusOffset);
fbb.addInt64(7, object.failedAttempts);
fbb.addInt64(8, object.localModifiedAt);
fbb.addBool(9, object.isDeleted);
fbb.addBool(10, object.hasConflict);
fbb.addOffset(11, remoteVersionOffset);
fbb.finish(fbb.endTable());
return object.id;
},
objectFromFB: (obx.Store store, ByteData fbData) {
final buffer = fb.BufferContext(fbData);
final rootOffset = buffer.derefObject(0);
final screenIdParam = const fb.StringReader(
asciiOptimization: true,
).vTableGet(buffer, rootOffset, 6, '');
final nameParam = const fb.StringReader(
asciiOptimization: true,
).vTableGet(buffer, rootOffset, 8, '');
final jsonDataParam = const fb.StringReader(
asciiOptimization: true,
).vTableGet(buffer, rootOffset, 12, '');
final object =
ScreenEntity(
screenId: screenIdParam,
name: nameParam,
jsonData: jsonDataParam,
)
..id = const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0)
..version = const fb.Int64Reader().vTableGet(
buffer,
rootOffset,
10,
0,
)
..lastUpdated = const fb.Int64Reader().vTableGet(
buffer,
rootOffset,
14,
0,
)
..syncStatus = const fb.StringReader(
asciiOptimization: true,
).vTableGet(buffer, rootOffset, 16, '')
..failedAttempts = const fb.Int64Reader().vTableGet(
buffer,
rootOffset,
18,
0,
)
..localModifiedAt = const fb.Int64Reader().vTableGet(
buffer,
rootOffset,
20,
0,
)
..isDeleted = const fb.BoolReader().vTableGet(
buffer,
rootOffset,
22,
false,
)
..hasConflict = const fb.BoolReader().vTableGet(
buffer,
rootOffset,
24,
false,
)
..remoteVersion = const fb.StringReader(
asciiOptimization: true,
).vTableGetNullable(buffer, rootOffset, 26);
return object;
},
),
};
return obx_int.ModelDefinition(model, bindings);
}