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(2, 3591291115973887432),
lastIndexId: const obx_int.IdUid(1, 8984911200634127343),
lastRelationId: const obx_int.IdUid(0, 0),
lastSequenceId: const obx_int.IdUid(0, 0),
retiredEntityUids: const [],
retiredIndexUids: const [],
retiredPropertyUids: const [],
retiredRelationUids: const [],
modelVersion: 5,
modelVersionParserMinimum: 5,
version: 1);
final bindings = <Type, obx_int.EntityDefinition>{
CacheControlBox: obx_int.EntityDefinition<CacheControlBox>(
model: _entities[0],
toOneRelations: (CacheControlBox object) => [],
toManyRelations: (CacheControlBox object) => {},
getId: (CacheControlBox object) => object.id,
setId: (CacheControlBox object, int id) {
object.id = id;
},
objectToFB: (CacheControlBox object, fb.Builder fbb) {
final privacyOffset =
object.privacy == null ? null : fbb.writeString(object.privacy!);
final otherOffset = object.other == null
? null
: fbb.writeList(
object.other!.map(fbb.writeString).toList(growable: false));
fbb.startTable(10);
fbb.addInt64(0, object.id ?? 0);
fbb.addInt64(1, object.maxAge);
fbb.addOffset(2, privacyOffset);
fbb.addBool(3, object.noCache);
fbb.addBool(4, object.noStore);
fbb.addOffset(5, otherOffset);
fbb.addInt64(6, object.maxStale);
fbb.addInt64(7, object.minFresh);
fbb.addBool(8, object.mustRevalidate);
fbb.finish(fbb.endTable());
return object.id ?? 0;
},
objectFromFB: (obx.Store store, ByteData fbData) {
final buffer = fb.BufferContext(fbData);
final rootOffset = buffer.derefObject(0);
final idParam =
const fb.Int64Reader().vTableGetNullable(buffer, rootOffset, 4);
final maxAgeParam =
const fb.Int64Reader().vTableGetNullable(buffer, rootOffset, 6);
final privacyParam = const fb.StringReader(asciiOptimization: true)
.vTableGetNullable(buffer, rootOffset, 8);
final noCacheParam =
const fb.BoolReader().vTableGetNullable(buffer, rootOffset, 10);
final noStoreParam =
const fb.BoolReader().vTableGetNullable(buffer, rootOffset, 12);
final otherParam = const fb.ListReader<String>(
fb.StringReader(asciiOptimization: true),
lazy: false)
.vTableGetNullable(buffer, rootOffset, 14);
final object = CacheControlBox(
id: idParam,
maxAge: maxAgeParam,
privacy: privacyParam,
noCache: noCacheParam,
noStore: noStoreParam,
other: otherParam)
..maxStale =
const fb.Int64Reader().vTableGetNullable(buffer, rootOffset, 16)
..minFresh =
const fb.Int64Reader().vTableGetNullable(buffer, rootOffset, 18)
..mustRevalidate =
const fb.BoolReader().vTableGetNullable(buffer, rootOffset, 20);
return object;
}),
CacheResponseBox: obx_int.EntityDefinition<CacheResponseBox>(
model: _entities[1],
toOneRelations: (CacheResponseBox object) => [object.cacheControl],
toManyRelations: (CacheResponseBox object) => {},
getId: (CacheResponseBox object) => object.id,
setId: (CacheResponseBox object, int id) {
object.id = id;
},
objectToFB: (CacheResponseBox object, fb.Builder fbb) {
final keyOffset = fbb.writeString(object.key);
final contentOffset = object.content == null
? null
: fbb.writeListInt8(object.content!);
final eTagOffset =
object.eTag == null ? null : fbb.writeString(object.eTag!);
final headersOffset = object.headers == null
? null
: fbb.writeListInt8(object.headers!);
final lastModifiedOffset = object.lastModified == null
? null
: fbb.writeString(object.lastModified!);
final urlOffset = fbb.writeString(object.url);
fbb.startTable(16);
fbb.addInt64(0, object.id ?? 0);
fbb.addOffset(1, keyOffset);
fbb.addOffset(2, contentOffset);
fbb.addInt64(3, object.date?.millisecondsSinceEpoch);
fbb.addOffset(4, eTagOffset);
fbb.addInt64(5, object.expires?.millisecondsSinceEpoch);
fbb.addOffset(6, headersOffset);
fbb.addOffset(7, lastModifiedOffset);
fbb.addInt64(8, object.maxStale?.millisecondsSinceEpoch);
fbb.addInt64(9, object.responseDate.millisecondsSinceEpoch);
fbb.addOffset(10, urlOffset);
fbb.addInt64(11, object.priority);
fbb.addInt64(12, object.cacheControl.targetId);
fbb.addInt64(13, object.requestDate.millisecondsSinceEpoch);
fbb.addInt64(14, object.statusCode);
fbb.finish(fbb.endTable());
return object.id ?? 0;
},
objectFromFB: (obx.Store store, ByteData fbData) {
final buffer = fb.BufferContext(fbData);
final rootOffset = buffer.derefObject(0);
final dateValue =
const fb.Int64Reader().vTableGetNullable(buffer, rootOffset, 10);
final expiresValue =
const fb.Int64Reader().vTableGetNullable(buffer, rootOffset, 14);
final maxStaleValue =
const fb.Int64Reader().vTableGetNullable(buffer, rootOffset, 20);
final keyParam = const fb.StringReader(asciiOptimization: true)
.vTableGet(buffer, rootOffset, 6, '');
final contentParam = const fb.Uint8ListReader(lazy: false)
.vTableGetNullable(buffer, rootOffset, 8) as Uint8List?;
final dateParam = dateValue == null
? null
: DateTime.fromMillisecondsSinceEpoch(dateValue);
final eTagParam = const fb.StringReader(asciiOptimization: true)
.vTableGetNullable(buffer, rootOffset, 12);
final expiresParam = expiresValue == null
? null
: DateTime.fromMillisecondsSinceEpoch(expiresValue);
final headersParam = const fb.Uint8ListReader(lazy: false)
.vTableGetNullable(buffer, rootOffset, 16) as Uint8List?;
final lastModifiedParam =
const fb.StringReader(asciiOptimization: true)
.vTableGetNullable(buffer, rootOffset, 18);
final maxStaleParam = maxStaleValue == null
? null
: DateTime.fromMillisecondsSinceEpoch(maxStaleValue);
final requestDateParam = DateTime.fromMillisecondsSinceEpoch(
const fb.Int64Reader().vTableGet(buffer, rootOffset, 30, 0));
final priorityParam =
const fb.Int64Reader().vTableGet(buffer, rootOffset, 26, 0);
final responseDateParam = DateTime.fromMillisecondsSinceEpoch(
const fb.Int64Reader().vTableGet(buffer, rootOffset, 22, 0));
final urlParam = const fb.StringReader(asciiOptimization: true)
.vTableGet(buffer, rootOffset, 24, '');
final statusCodeParam =
const fb.Int64Reader().vTableGetNullable(buffer, rootOffset, 32);
final object = CacheResponseBox(
key: keyParam,
content: contentParam,
date: dateParam,
eTag: eTagParam,
expires: expiresParam,
headers: headersParam,
lastModified: lastModifiedParam,
maxStale: maxStaleParam,
requestDate: requestDateParam,
priority: priorityParam,
responseDate: responseDateParam,
url: urlParam,
statusCode: statusCodeParam)
..id =
const fb.Int64Reader().vTableGetNullable(buffer, rootOffset, 4);
object.cacheControl.targetId =
const fb.Int64Reader().vTableGet(buffer, rootOffset, 28, 0);
object.cacheControl.attach(store);
return object;
})
};
return obx_int.ModelDefinition(model, bindings);
}