getObjectBoxModel function
ModelDefinition
getObjectBoxModel()
ObjectBox model definition, pass it to Store - Store(getObjectBoxModel())
Implementation
ModelDefinition getObjectBoxModel() {
final model = ModelInfo(
entities: _entities,
lastEntityId: const IdUid(1, 7194707144786448258),
lastIndexId: const IdUid(1, 141012316670183745),
lastRelationId: const IdUid(0, 0),
lastSequenceId: const IdUid(0, 0),
retiredEntityUids: const [],
retiredIndexUids: const [],
retiredPropertyUids: const [],
retiredRelationUids: const [],
modelVersion: 5,
modelVersionParserMinimum: 5,
version: 1);
final bindings = <Type, EntityDefinition>{
Cache: EntityDefinition<Cache>(
model: _entities[0],
toOneRelations: (Cache object) => [],
toManyRelations: (Cache object) => {},
getId: (Cache object) => object.id,
setId: (Cache object, int id) {
object.id = id;
},
objectToFB: (Cache object, fb.Builder fbb) {
final keyOffset = fbb.writeString(object.key);
final byteListOffset = fbb.writeListInt8(object.byteList);
fbb.startTable(4);
fbb.addInt64(0, object.id);
fbb.addOffset(1, keyOffset);
fbb.addOffset(2, byteListOffset);
fbb.finish(fbb.endTable());
return object.id;
},
objectFromFB: (Store store, ByteData fbData) {
final buffer = fb.BufferContext(fbData);
final rootOffset = buffer.derefObject(0);
final object = Cache(
key: const fb.StringReader(asciiOptimization: true)
.vTableGet(buffer, rootOffset, 6, ''),
byteList: const fb.ListReader<int>(fb.Int8Reader(), lazy: false)
.vTableGet(buffer, rootOffset, 8, []))
..id = const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0);
return object;
})
};
return ModelDefinition(model, bindings);
}