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(4, 8890972191143949164),
      lastIndexId: const obx_int.IdUid(4, 6876753875053649510),
      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>{
    CachedAliceHttpCall: obx_int.EntityDefinition<CachedAliceHttpCall>(
        model: _entities[0],
        toOneRelations: (CachedAliceHttpCall object) =>
            [object.requestRel, object.responseRel, object.errorRel],
        toManyRelations: (CachedAliceHttpCall object) => {},
        getId: (CachedAliceHttpCall object) => object.objectId,
        setId: (CachedAliceHttpCall object, int id) {
          object.objectId = id;
        },
        objectToFB: (CachedAliceHttpCall object, fb.Builder fbb) {
          final clientOffset = fbb.writeString(object.client);
          final methodOffset = fbb.writeString(object.method);
          final endpointOffset = fbb.writeString(object.endpoint);
          final serverOffset = fbb.writeString(object.server);
          final uriOffset = fbb.writeString(object.uri);
          fbb.startTable(15);
          fbb.addInt64(0, object.objectId);
          fbb.addInt64(1, object.id);
          fbb.addInt64(2, object.createdTime.microsecondsSinceEpoch * 1000);
          fbb.addOffset(3, clientOffset);
          fbb.addBool(4, object.loading);
          fbb.addBool(5, object.secure);
          fbb.addOffset(6, methodOffset);
          fbb.addOffset(7, endpointOffset);
          fbb.addOffset(8, serverOffset);
          fbb.addOffset(9, uriOffset);
          fbb.addInt64(10, object.duration);
          fbb.addInt64(11, object.requestRel.targetId);
          fbb.addInt64(12, object.responseRel.targetId);
          fbb.addInt64(13, object.errorRel.targetId);
          fbb.finish(fbb.endTable());
          return object.objectId;
        },
        objectFromFB: (obx.Store store, ByteData fbData) {
          final buffer = fb.BufferContext(fbData);
          final rootOffset = buffer.derefObject(0);
          final idParam =
              const fb.Int64Reader().vTableGet(buffer, rootOffset, 6, 0);
          final objectIdParam =
              const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0);
          final createdTimeParam = DateTime.fromMicrosecondsSinceEpoch(
              (const fb.Int64Reader().vTableGet(buffer, rootOffset, 8, 0) /
                      1000)
                  .round());
          final clientParam = const fb.StringReader(asciiOptimization: true)
              .vTableGet(buffer, rootOffset, 10, '');
          final loadingParam =
              const fb.BoolReader().vTableGet(buffer, rootOffset, 12, false);
          final secureParam =
              const fb.BoolReader().vTableGet(buffer, rootOffset, 14, false);
          final methodParam = const fb.StringReader(asciiOptimization: true)
              .vTableGet(buffer, rootOffset, 16, '');
          final endpointParam = const fb.StringReader(asciiOptimization: true)
              .vTableGet(buffer, rootOffset, 18, '');
          final serverParam = const fb.StringReader(asciiOptimization: true)
              .vTableGet(buffer, rootOffset, 20, '');
          final uriParam = const fb.StringReader(asciiOptimization: true)
              .vTableGet(buffer, rootOffset, 22, '');
          final durationParam =
              const fb.Int64Reader().vTableGet(buffer, rootOffset, 24, 0);
          final object = CachedAliceHttpCall(idParam,
              objectId: objectIdParam,
              createdTime: createdTimeParam,
              client: clientParam,
              loading: loadingParam,
              secure: secureParam,
              method: methodParam,
              endpoint: endpointParam,
              server: serverParam,
              uri: uriParam,
              duration: durationParam);
          object.requestRel.targetId =
              const fb.Int64Reader().vTableGet(buffer, rootOffset, 26, 0);
          object.requestRel.attach(store);
          object.responseRel.targetId =
              const fb.Int64Reader().vTableGet(buffer, rootOffset, 28, 0);
          object.responseRel.attach(store);
          object.errorRel.targetId =
              const fb.Int64Reader().vTableGet(buffer, rootOffset, 30, 0);
          object.errorRel.attach(store);
          return object;
        }),
    CachedAliceHttpError: obx_int.EntityDefinition<CachedAliceHttpError>(
        model: _entities[1],
        toOneRelations: (CachedAliceHttpError object) => [],
        toManyRelations: (CachedAliceHttpError object) => {},
        getId: (CachedAliceHttpError object) => object.objectId,
        setId: (CachedAliceHttpError object, int id) {
          object.objectId = id;
        },
        objectToFB: (CachedAliceHttpError object, fb.Builder fbb) {
          final dbErrorOffset =
              object.dbError == null ? null : fbb.writeString(object.dbError!);
          final dbStackTraceOffset = object.dbStackTrace == null
              ? null
              : fbb.writeString(object.dbStackTrace!);
          fbb.startTable(4);
          fbb.addInt64(0, object.objectId);
          fbb.addOffset(1, dbErrorOffset);
          fbb.addOffset(2, dbStackTraceOffset);
          fbb.finish(fbb.endTable());
          return object.objectId;
        },
        objectFromFB: (obx.Store store, ByteData fbData) {
          final buffer = fb.BufferContext(fbData);
          final rootOffset = buffer.derefObject(0);
          final objectIdParam =
              const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0);
          final object = CachedAliceHttpError(objectId: objectIdParam)
            ..dbError = const fb.StringReader(asciiOptimization: true)
                .vTableGetNullable(buffer, rootOffset, 6)
            ..dbStackTrace = const fb.StringReader(asciiOptimization: true)
                .vTableGetNullable(buffer, rootOffset, 8);

          return object;
        }),
    CachedAliceHttpRequest: obx_int.EntityDefinition<CachedAliceHttpRequest>(
        model: _entities[2],
        toOneRelations: (CachedAliceHttpRequest object) => [],
        toManyRelations: (CachedAliceHttpRequest object) => {},
        getId: (CachedAliceHttpRequest object) => object.objectId,
        setId: (CachedAliceHttpRequest object, int id) {
          object.objectId = id;
        },
        objectToFB: (CachedAliceHttpRequest object, fb.Builder fbb) {
          final contentTypeOffset = object.contentType == null
              ? null
              : fbb.writeString(object.contentType!);
          final dbHeadersOffset = fbb.writeString(object.dbHeaders);
          final dbBodyOffset =
              object.dbBody == null ? null : fbb.writeString(object.dbBody!);
          final dbCookiesOffset = fbb.writeList(
              object.dbCookies.map(fbb.writeString).toList(growable: false));
          final dbQueryParametersOffset =
              fbb.writeString(object.dbQueryParameters);
          final dbFormDataFilesOffset = object.dbFormDataFiles == null
              ? null
              : fbb.writeList(object.dbFormDataFiles!
                  .map(fbb.writeString)
                  .toList(growable: false));
          final dbFormDataFieldsOffset = object.dbFormDataFields == null
              ? null
              : fbb.writeList(object.dbFormDataFields!
                  .map(fbb.writeString)
                  .toList(growable: false));
          fbb.startTable(11);
          fbb.addInt64(0, object.objectId);
          fbb.addInt64(1, object.size);
          fbb.addInt64(2, object.time.microsecondsSinceEpoch * 1000);
          fbb.addOffset(3, contentTypeOffset);
          fbb.addOffset(4, dbHeadersOffset);
          fbb.addOffset(5, dbBodyOffset);
          fbb.addOffset(6, dbCookiesOffset);
          fbb.addOffset(7, dbQueryParametersOffset);
          fbb.addOffset(8, dbFormDataFilesOffset);
          fbb.addOffset(9, dbFormDataFieldsOffset);
          fbb.finish(fbb.endTable());
          return object.objectId;
        },
        objectFromFB: (obx.Store store, ByteData fbData) {
          final buffer = fb.BufferContext(fbData);
          final rootOffset = buffer.derefObject(0);
          final objectIdParam =
              const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0);
          final sizeParam =
              const fb.Int64Reader().vTableGet(buffer, rootOffset, 6, 0);
          final timeParam = DateTime.fromMicrosecondsSinceEpoch(
              (const fb.Int64Reader().vTableGet(buffer, rootOffset, 8, 0) /
                      1000)
                  .round());
          final contentTypeParam =
              const fb.StringReader(asciiOptimization: true)
                  .vTableGetNullable(buffer, rootOffset, 10);
          final object = CachedAliceHttpRequest(
              objectId: objectIdParam,
              size: sizeParam,
              time: timeParam,
              contentType: contentTypeParam)
            ..dbHeaders = const fb.StringReader(asciiOptimization: true)
                .vTableGet(buffer, rootOffset, 12, '')
            ..dbBody = const fb.StringReader(asciiOptimization: true)
                .vTableGetNullable(buffer, rootOffset, 14)
            ..dbCookies = const fb.ListReader<String>(
                    fb.StringReader(asciiOptimization: true),
                    lazy: false)
                .vTableGet(buffer, rootOffset, 16, [])
            ..dbQueryParameters = const fb.StringReader(asciiOptimization: true)
                .vTableGet(buffer, rootOffset, 18, '')
            ..dbFormDataFiles = const fb.ListReader<String>(
                    fb.StringReader(asciiOptimization: true),
                    lazy: false)
                .vTableGetNullable(buffer, rootOffset, 20)
            ..dbFormDataFields = const fb.ListReader<String>(
                    fb.StringReader(asciiOptimization: true),
                    lazy: false)
                .vTableGetNullable(buffer, rootOffset, 22);

          return object;
        }),
    CachedAliceHttpResponse: obx_int.EntityDefinition<CachedAliceHttpResponse>(
        model: _entities[3],
        toOneRelations: (CachedAliceHttpResponse object) => [],
        toManyRelations: (CachedAliceHttpResponse object) => {},
        getId: (CachedAliceHttpResponse object) => object.objectId,
        setId: (CachedAliceHttpResponse object, int id) {
          object.objectId = id;
        },
        objectToFB: (CachedAliceHttpResponse object, fb.Builder fbb) {
          final dbBodyOffset =
              object.dbBody == null ? null : fbb.writeString(object.dbBody!);
          final dbHeadersOffset = object.dbHeaders == null
              ? null
              : fbb.writeString(object.dbHeaders!);
          fbb.startTable(7);
          fbb.addInt64(0, object.objectId);
          fbb.addInt64(1, object.status);
          fbb.addInt64(2, object.size);
          fbb.addInt64(3, object.time.microsecondsSinceEpoch * 1000);
          fbb.addOffset(4, dbBodyOffset);
          fbb.addOffset(5, dbHeadersOffset);
          fbb.finish(fbb.endTable());
          return object.objectId;
        },
        objectFromFB: (obx.Store store, ByteData fbData) {
          final buffer = fb.BufferContext(fbData);
          final rootOffset = buffer.derefObject(0);
          final objectIdParam =
              const fb.Int64Reader().vTableGet(buffer, rootOffset, 4, 0);
          final statusParam =
              const fb.Int64Reader().vTableGetNullable(buffer, rootOffset, 6);
          final sizeParam =
              const fb.Int64Reader().vTableGet(buffer, rootOffset, 8, 0);
          final timeParam = DateTime.fromMicrosecondsSinceEpoch(
              (const fb.Int64Reader().vTableGet(buffer, rootOffset, 10, 0) /
                      1000)
                  .round());
          final object = CachedAliceHttpResponse(
              objectId: objectIdParam,
              status: statusParam,
              size: sizeParam,
              time: timeParam)
            ..dbBody = const fb.StringReader(asciiOptimization: true)
                .vTableGetNullable(buffer, rootOffset, 12)
            ..dbHeaders = const fb.StringReader(asciiOptimization: true)
                .vTableGetNullable(buffer, rootOffset, 14);

          return object;
        })
  };

  return obx_int.ModelDefinition(model, bindings);
}