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, 932252667448243648),
lastIndexId: const obx_int.IdUid(0, 0),
lastRelationId: const obx_int.IdUid(0, 0),
lastSequenceId: const obx_int.IdUid(0, 0),
retiredEntityUids: const [],
retiredIndexUids: const [],
retiredPropertyUids: const [214461829746510662],
retiredRelationUids: const [],
modelVersion: 5,
modelVersionParserMinimum: 5,
version: 1,
);
final bindings = <Type, obx_int.EntityDefinition>{
OutboxItem: obx_int.EntityDefinition<OutboxItem>(
model: _entities[0],
toOneRelations: (OutboxItem object) => [],
toManyRelations: (OutboxItem object) => {},
getId: (OutboxItem object) => object.id,
setId: (OutboxItem object, int id) {
object.id = id;
},
objectToFB: (OutboxItem object, fb.Builder fbb) {
final operationOffset = fbb.writeString(object.operation);
final primaryKeyOffset = object.primaryKey == null
? null
: fbb.writeString(object.primaryKey!);
final urlOffset = fbb.writeString(object.url);
final payloadOffset = object.payload == null
? null
: fbb.writeString(object.payload!);
final responseOffset = object.response == null
? null
: fbb.writeString(object.response!);
final endPointOffset = object.endPoint == null
? null
: fbb.writeString(object.endPoint!);
final filePathsJsonOffset = object.filePathsJson == null
? null
: fbb.writeString(object.filePathsJson!);
final fileFieldsJsonOffset = object.fileFieldsJson == null
? null
: fbb.writeString(object.fileFieldsJson!);
fbb.startTable(17);
fbb.addInt64(0, object.id);
fbb.addOffset(1, operationOffset);
fbb.addOffset(3, primaryKeyOffset);
fbb.addOffset(4, urlOffset);
fbb.addOffset(5, payloadOffset);
fbb.addOffset(6, responseOffset);
fbb.addInt64(7, object.retryCount);
fbb.addInt64(8, object.lastTried);
fbb.addInt64(9, object.isSynced);
fbb.addInt64(10, object.createdAt);
fbb.addOffset(11, endPointOffset);
fbb.addInt64(12, object.priority);
fbb.addOffset(13, filePathsJsonOffset);
fbb.addOffset(14, fileFieldsJsonOffset);
fbb.addInt64(15, object.statusCode);
fbb.finish(fbb.endTable());
return object.id;
},
objectFromFB: (obx.Store store, ByteData fbData) {
final buffer = fb.BufferContext(fbData);
final rootOffset = buffer.derefObject(0);
final idParam = const fb.Int64Reader().vTableGet(
buffer,
rootOffset,
4,
0,
);
final operationParam = const fb.StringReader(
asciiOptimization: true,
).vTableGet(buffer, rootOffset, 6, '');
final endPointParam = const fb.StringReader(
asciiOptimization: true,
).vTableGetNullable(buffer, rootOffset, 26);
final primaryKeyParam = const fb.StringReader(
asciiOptimization: true,
).vTableGetNullable(buffer, rootOffset, 10);
final urlParam = const fb.StringReader(
asciiOptimization: true,
).vTableGet(buffer, rootOffset, 12, '');
final payloadParam = const fb.StringReader(
asciiOptimization: true,
).vTableGetNullable(buffer, rootOffset, 14);
final responseParam = const fb.StringReader(
asciiOptimization: true,
).vTableGetNullable(buffer, rootOffset, 16);
final retryCountParam = const fb.Int64Reader().vTableGet(
buffer,
rootOffset,
18,
0,
);
final priorityParam = const fb.Int64Reader().vTableGet(
buffer,
rootOffset,
28,
0,
);
final lastTriedParam = const fb.Int64Reader().vTableGet(
buffer,
rootOffset,
20,
0,
);
final isSyncedParam = const fb.Int64Reader().vTableGet(
buffer,
rootOffset,
22,
0,
);
final fileFieldsJsonParam = const fb.StringReader(
asciiOptimization: true,
).vTableGetNullable(buffer, rootOffset, 32);
final statusCodeParam = const fb.Int64Reader().vTableGetNullable(
buffer,
rootOffset,
34,
);
final filePathsJsonParam = const fb.StringReader(
asciiOptimization: true,
).vTableGetNullable(buffer, rootOffset, 30);
final createdAtParam = const fb.Int64Reader().vTableGet(
buffer,
rootOffset,
24,
0,
);
final object = OutboxItem(
id: idParam,
operation: operationParam,
endPoint: endPointParam,
primaryKey: primaryKeyParam,
url: urlParam,
payload: payloadParam,
response: responseParam,
retryCount: retryCountParam,
priority: priorityParam,
lastTried: lastTriedParam,
isSynced: isSyncedParam,
fileFieldsJson: fileFieldsJsonParam,
statusCode: statusCodeParam,
filePathsJson: filePathsJsonParam,
createdAt: createdAtParam,
);
return object;
},
),
};
return obx_int.ModelDefinition(model, bindings);
}