pubspeck.yaml
Thank you for reading this post, don't forget to subscribe!provider: ^6.1.2 realm: ^2.1.0
– person.dart
import 'package:realm/realm.dart';
part 'person.realm.dart'; // 自動生成ファイル
@RealmModel()
class _Person {
late String name;
late String link;
late String title;
late String author;
late String hour;
late String minute;
late String second;
}
コマンド実行
# dart run realm generate
person.realm.dart ファイルが自動生成される
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'person.dart';
// **************************************************************************
// RealmObjectGenerator
// **************************************************************************
// ignore_for_file: type=lint
class Person extends _Person with RealmEntity, RealmObjectBase, RealmObject {
Person(
String name,
String link,
String title,
String author,
String hour,
String minute,
String second,
) {
RealmObjectBase.set(this, 'name', name);
RealmObjectBase.set(this, 'link', link);
RealmObjectBase.set(this, 'title', title);
RealmObjectBase.set(this, 'author', author);
RealmObjectBase.set(this, 'hour', hour);
RealmObjectBase.set(this, 'minute', minute);
RealmObjectBase.set(this, 'second', second);
}
Person._();
@override
String get name => RealmObjectBase.get(this, 'name') as String;
@override
set name(String value) => RealmObjectBase.set(this, 'name', value);
@override
String get link => RealmObjectBase.get(this, 'link') as String;
@override
set link(String value) => RealmObjectBase.set(this, 'link', value);
@override
String get title => RealmObjectBase.get(this, 'title') as String;
@override
set title(String value) => RealmObjectBase.set(this, 'title', value);
@override
String get author => RealmObjectBase.get(this, 'author') as String;
@override
set author(String value) => RealmObjectBase.set(this, 'author', value);
@override
String get hour => RealmObjectBase.get(this, 'hour') as String;
@override
set hour(String value) => RealmObjectBase.set(this, 'hour', value);
@override
String get minute => RealmObjectBase.get(this, 'minute') as String;
@override
set minute(String value) => RealmObjectBase.set(this, 'minute', value);
@override
String get second => RealmObjectBase.get(this, 'second') as String;
@override
set second(String value) => RealmObjectBase.set(this, 'second', value);
@override
Stream> get changes =>
RealmObjectBase.getChanges(this);
@override
Person freeze() => RealmObjectBase.freezeObject(this);
EJsonValue toEJson() {
return {
'name': name.toEJson(),
'link': link.toEJson(),
'title': title.toEJson(),
'author': author.toEJson(),
'hour': hour.toEJson(),
'minute': minute.toEJson(),
'second': second.toEJson(),
};
}
static EJsonValue _toEJson(Person value) => value.toEJson();
static Person _fromEJson(EJsonValue ejson) {
return switch (ejson) {
{
'name': EJsonValue name,
'link': EJsonValue link,
'title': EJsonValue title,
'author': EJsonValue author,
'hour': EJsonValue hour,
'minute': EJsonValue minute,
'second': EJsonValue second,
} =>
Person(
fromEJson(name),
fromEJson(link),
fromEJson(title),
fromEJson(author),
fromEJson(hour),
fromEJson(minute),
fromEJson(second),
),
_ => raiseInvalidEJson(ejson),
};
}
static final schema = () {
RealmObjectBase.registerFactory(Person._);
register(_toEJson, _fromEJson);
return SchemaObject(ObjectType.realmObject, Person, 'Person', [
SchemaProperty('name', RealmPropertyType.string),
SchemaProperty('link', RealmPropertyType.string),
SchemaProperty('title', RealmPropertyType.string),
SchemaProperty('author', RealmPropertyType.string),
SchemaProperty('hour', RealmPropertyType.string),
SchemaProperty('minute', RealmPropertyType.string),
SchemaProperty('second', RealmPropertyType.string),
]);
}();
@override
SchemaObject get objectSchema => RealmObjectBase.getSchema(this) ?? schema;
}