getObjectBoxModel function
ModelDefinition
getObjectBoxModel()
ObjectBox model definition, pass it to Store - Store(getObjectBoxModel())
Implementation
ModelDefinition getObjectBoxModel() {
final model = ModelInfo(
entities: _entities,
lastEntityId: const IdUid(7, 4451546207910243324),
lastIndexId: const IdUid(0, 0),
lastRelationId: const IdUid(0, 0),
lastSequenceId: const IdUid(0, 0),
retiredEntityUids: const [
1905105460055970584,
4326848862098983318,
5646975722548021592
],
retiredIndexUids: const [],
retiredPropertyUids: const [
7997732721906611150,
1498064663591360504,
9165545013072988725,
4877729840467155073,
6758483133818294873,
585609381998393805,
6642736454832914930,
8087694414283662120,
6820143125403607510,
7668693127131540302,
7408033311899592472,
4059285666848700917,
5710658985835394472,
6288614738311781577,
5739210013867628408,
3235977672677165811
],
retiredRelationUids: const [],
modelVersion: 5,
modelVersionParserMinimum: 5,
version: 1);
final bindings = <Type, EntityDefinition>{
Contact: EntityDefinition<Contact>(
model: _entities[0],
toOneRelations: (Contact object) => [],
toManyRelations: (Contact object) => {},
getId: (Contact object) => object.id,
setId: (Contact object, int id) {
object.id = id;
},
objectToFB: (Contact object, fb.Builder fbb) {
final userNameOffset = fbb.writeString(object.userName);
final phoneNumberOffset = fbb.writeString(object.phoneNumber);
fbb.startTable(6);
fbb.addInt64(0, object.id);
fbb.addOffset(1, userNameOffset);
fbb.addOffset(3, phoneNumberOffset);
fbb.addBool(4, object.isContact);
fbb.finish(fbb.endTable());
return object.id;
},
objectFromFB: (Store store, ByteData fbData) {
final buffer = fb.BufferContext(fbData);
final rootOffset = buffer.derefObject(0);
final object = Contact(
userName: const fb.StringReader(asciiOptimization: true)
.vTableGet(buffer, rootOffset, 6, ''),
phoneNumber: const fb.StringReader(asciiOptimization: true)
.vTableGet(buffer, rootOffset, 10, ''),
isContact: const fb.BoolReader()
.vTableGet(buffer, rootOffset, 12, false))
..id = const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0);
return object;
}),
Message: EntityDefinition<Message>(
model: _entities[1],
toOneRelations: (Message object) => [],
toManyRelations: (Message object) => {},
getId: (Message object) => object.id,
setId: (Message object, int id) {
object.id = id;
},
objectToFB: (Message object, fb.Builder fbb) {
final messageOffset = fbb.writeString(object.message);
final senderPhoneNumberOffset =
fbb.writeString(object.senderPhoneNumber);
final receiverIdOffset = fbb.writeString(object.receiverId);
fbb.startTable(10);
fbb.addInt64(0, object.id);
fbb.addOffset(4, messageOffset);
fbb.addInt64(5, object.date?.millisecondsSinceEpoch);
fbb.addOffset(6, senderPhoneNumberOffset);
fbb.addOffset(8, receiverIdOffset);
fbb.finish(fbb.endTable());
return object.id;
},
objectFromFB: (Store store, ByteData fbData) {
final buffer = fb.BufferContext(fbData);
final rootOffset = buffer.derefObject(0);
final dateValue =
const fb.Int64Reader().vTableGetNullable(buffer, rootOffset, 14);
final object = Message(
message: const fb.StringReader(asciiOptimization: true)
.vTableGet(buffer, rootOffset, 12, ''),
receiverId: const fb.StringReader(asciiOptimization: true)
.vTableGet(buffer, rootOffset, 20, ''),
senderPhoneNumber: const fb.StringReader(asciiOptimization: true)
.vTableGet(buffer, rootOffset, 16, ''),
date: dateValue == null
? null
: DateTime.fromMillisecondsSinceEpoch(dateValue))
..id = const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0);
return object;
}),
Group: EntityDefinition<Group>(
model: _entities[2],
toOneRelations: (Group object) => [],
toManyRelations: (Group object) => {},
getId: (Group object) => object.id,
setId: (Group object, int id) {
object.id = id;
},
objectToFB: (Group object, fb.Builder fbb) {
final groupIDOffset = fbb.writeString(object.groupID);
final groupNameOffset = fbb.writeString(object.groupName);
fbb.startTable(5);
fbb.addInt64(0, object.id);
fbb.addOffset(1, groupIDOffset);
fbb.addOffset(2, groupNameOffset);
fbb.finish(fbb.endTable());
return object.id;
},
objectFromFB: (Store store, ByteData fbData) {
final buffer = fb.BufferContext(fbData);
final rootOffset = buffer.derefObject(0);
final object = Group(
groupName: const fb.StringReader(asciiOptimization: true)
.vTableGet(buffer, rootOffset, 8, ''),
groupID: const fb.StringReader(asciiOptimization: true)
.vTableGet(buffer, rootOffset, 6, ''))
..id = const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0);
return object;
}),
Membership: EntityDefinition<Membership>(
model: _entities[3],
toOneRelations: (Membership object) => [],
toManyRelations: (Membership object) => {},
getId: (Membership object) => object.id,
setId: (Membership object, int id) {
object.id = id;
},
objectToFB: (Membership object, fb.Builder fbb) {
final groupIdOffset =
object.groupId == null ? null : fbb.writeString(object.groupId!);
final userPhoneOffset = object.userPhone == null
? null
: fbb.writeString(object.userPhone!);
fbb.startTable(4);
fbb.addInt64(0, object.id);
fbb.addOffset(1, groupIdOffset);
fbb.addOffset(2, userPhoneOffset);
fbb.finish(fbb.endTable());
return object.id;
},
objectFromFB: (Store store, ByteData fbData) {
final buffer = fb.BufferContext(fbData);
final rootOffset = buffer.derefObject(0);
final object = Membership(
groupId: const fb.StringReader(asciiOptimization: true)
.vTableGetNullable(buffer, rootOffset, 6),
userPhone: const fb.StringReader(asciiOptimization: true)
.vTableGetNullable(buffer, rootOffset, 8))
..id = const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0);
return object;
})
};
return ModelDefinition(model, bindings);
}