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, 2881626965864008822),
lastIndexId: const IdUid(1, 7356114923904760),
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>{
KeyValueEntity: EntityDefinition<KeyValueEntity>(
model: _entities[0],
toOneRelations: (KeyValueEntity object) => [],
toManyRelations: (KeyValueEntity object) => {},
getId: (KeyValueEntity object) => object.id,
setId: (KeyValueEntity object, int id) {
object.id = id;
},
objectToFB: (KeyValueEntity object, fb.Builder fbb) {
final keyOffset = fbb.writeString(object.key);
final valueOffset = fbb.writeString(object.value);
fbb.startTable(4);
fbb.addInt64(0, object.id);
fbb.addOffset(1, keyOffset);
fbb.addOffset(2, valueOffset);
fbb.finish(fbb.endTable());
return object.id;
},
objectFromFB: (Store store, ByteData fbData) {
final buffer = fb.BufferContext(fbData);
final rootOffset = buffer.derefObject(0);
final object = KeyValueEntity(
const fb.StringReader(asciiOptimization: true)
.vTableGet(buffer, rootOffset, 6, ''),
const fb.StringReader(asciiOptimization: true)
.vTableGet(buffer, rootOffset, 8, ''),
id: const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0));
return object;
})
};
return ModelDefinition(model, bindings);
}