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, 4361056355033444640),
lastIndexId: const IdUid(0, 0),
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>{
CachedImageInfo: EntityDefinition<CachedImageInfo>(
model: _entities[0],
toOneRelations: (CachedImageInfo object) => [],
toManyRelations: (CachedImageInfo object) => {},
getId: (CachedImageInfo object) => object.id,
setId: (CachedImageInfo object, int id) {
object.id = id;
},
objectToFB: (CachedImageInfo object, fb.Builder fbb) {
final imageUrlOffset = fbb.writeString(object.imageUrl);
final cachedImageUrlOffset = fbb.writeString(object.cachedImageUrl);
fbb.startTable(6);
fbb.addInt64(0, object.id);
fbb.addOffset(1, imageUrlOffset);
fbb.addOffset(2, cachedImageUrlOffset);
fbb.addInt64(3, object.fileSize);
fbb.addInt64(4, object.dateCreated.millisecondsSinceEpoch);
fbb.finish(fbb.endTable());
return object.id;
},
objectFromFB: (Store store, ByteData fbData) {
final buffer = fb.BufferContext(fbData);
final rootOffset = buffer.derefObject(0);
final object = CachedImageInfo(
imageUrl: const fb.StringReader(asciiOptimization: true)
.vTableGet(buffer, rootOffset, 6, ''),
cachedImageUrl: const fb.StringReader(asciiOptimization: true)
.vTableGet(buffer, rootOffset, 8, ''),
fileSize:
const fb.Int64Reader().vTableGet(buffer, rootOffset, 10, 0),
dateCreated: DateTime.fromMillisecondsSinceEpoch(
const fb.Int64Reader().vTableGet(buffer, rootOffset, 12, 0)),
id: const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0));
return object;
})
};
return ModelDefinition(model, bindings);
}