クラス RealmObject
- java.lang.Object
-
- io.realm.RealmObject
-
- すべての実装インターフェース:
io.realm.internal.ManageableObject
,RealmModel
- 既知のサブクラスを直接:
DynamicRealmObject
public abstract class RealmObject extends Object implements RealmModel, io.realm.internal.ManageableObject
Realm では、RealmObject をサブクラス化し、永続化するフィールドを追加することで RealmObject クラスを定義します。 次に、Realm 内でオブジェクトを作成し、RealmObject クラスを直接使用する代わりにカスタム サブクラスを使用します。注釈プロセッサは、RealmObject サブクラスのプロキシ クラスを作成します。
次のフィールド データ型がサポートされています。
- ブール値/ブール値
- 短い/短い
- int/Integer
- long/Long
- float/Float
- double / double
- byte[]
- 文字列
- 日付
- UUID
- org.bson.types.Decimal128
- org.bson.types.ObjectId
- 任意の RealmObject サブクラス
- RealmList
- RealmDictionary
short
、int
、long
の各タイプは、Realm 内に保存するときにlong
にマッピングされます。RealmObject に課されている唯一の制限事項は、フィールドが最終的または変動的であることは許可されていないことです。 パブリック フィールドと任意のメソッドが許可されます。 カスタム コンストラクターを提供する場合、引数のないパブリック コンストラクターを宣言する必要があります。
Ignore
で注釈が付けられたフィールドにはこれらの制限はなく、 getter または setter は必要ありません。Realm は、
Index
で注釈が付けられたフィールドのインデックスを作成します。 これによりクエリは高速化されますが、挿入と更新には悪影響が生じます。RealmObject を異なるスレッド間で渡すことはできません。
-
-
コンストラクターの概要
コンストラクター Constructor 説明 RealmObject()
-
メソッドの概要
すべてのメソッド 静的メソッド インスタンス メソッド 具象メソッド 修飾子と型 方式 説明 static <E extends RealmModel>
voidaddChangeListener(E object, RealmChangeListener<E> listener)
値フィールドまたは参照された RealmObject フィールドが変更された場合、または RealmList フィールド自体が変更された場合にトリガーされる変更リスナーを RealmObject に追加します。static <E extends RealmModel>
voidaddChangeListener(E object, RealmObjectChangeListener<E> listener)
RealmObject に 変更リスナー を追加して、変更に関する詳細情報を取得します。<E extends RealmModel>
voidaddChangeListener(RealmChangeListener<E> listener)
この RealmObject に、値フィールドまたは参照先の RealmObject フィールドが変更された場合、または RealmList フィールド自体が変更された場合にトリガーされる 変更リスナー を追加します。<E extends RealmModel>
voidaddChangeListener(RealmObjectChangeListener<E> listener)
この RealmObject に 変更リスナー を追加して、変更に関する詳細情報を取得します。<E extends RealmObject>
Observable<ObjectChange<E>>asChangesetObservable()
この RealmObject への変更を監視する Rx Observable を返します。static <E extends RealmModel>
Observable<ObjectChange<E>>asChangesetObservable(E object)
この RealmObject への変更を監視する Rx Observable を返します。<E extends RealmObject>
Flowable<E>asFlowable()
この RealmObject への変更を監視する RxJava フロー可能を返します。static <E extends RealmModel>
Flowable<E>asFlowable(E object)
この RealmObject への変更を監視する RxJava フロー可能を返します。void
deleteFromRealm()
現在関連付けられている Realm からオブジェクトを削除します。static <E extends RealmModel>
voiddeleteFromRealm(E object)
現在関連付けられている Realm からオブジェクトを削除します。<E extends RealmModel>
Efreeze()
このオブジェクトの固定スナップショットを返します。static <E extends RealmModel>
Efreeze(E object)
このオブジェクトの固定スナップショットを返します。Realm
getRealm()
Realm
この が属するRealmObject
インスタンスを返します。static Realm
getRealm(RealmModel model)
は、model
が属するRealm
インスタンスを返します。boolean
isFrozen()
この RealmObject が固定されているかどうかを返します。static <E extends RealmModel>
booleanisFrozen(E object)
この RealmObject が固定されているかどうかを返します。boolean
isLoaded()
この RealmObject を検索するために使用されるクエリが完了しているかどうかを確認します。static <E extends RealmModel>
booleanisLoaded(E object)
この RealmObject を検索するために使用されるクエリが完了しているかどうかを確認します。boolean
isManaged()
このオブジェクトが Realm によって管理されているかどうかを確認します。static <E extends RealmModel>
booleanisManaged(E object)
このオブジェクトが Realm によって管理されているかどうかを確認します。boolean
isValid()
RealmObject がまだ を使用するために有効であるかどうか、つまり RealmObject が削除されておらず、Realm
が閉じられていないことを確認します。static <E extends RealmModel>
booleanisValid(E object)
RealmObject がまだ を使用するために有効であるかどうか、つまり RealmObject が削除されておらず、Realm
が閉じられていないことを確認します。boolean
load()
非同期クエリをブロック化します。static <E extends RealmModel>
booleanload(E object)
非同期クエリをブロック化します。void
removeAllChangeListeners()
登録されたすべてのリスナーを削除します。static <E extends RealmModel>
voidremoveAllChangeListeners(E object)
指定された RealmObject から登録されたすべてのリスナーを削除します。static <E extends RealmModel>
voidremoveChangeListener(E object, RealmChangeListener<E> listener)
指定された RealmObject に以前に登録されたリスナーを削除します。static <E extends RealmModel>
voidremoveChangeListener(E object, RealmObjectChangeListener listener)
指定された RealmObject に以前に登録されたリスナーを削除します。void
removeChangeListener(RealmChangeListener listener)
以前に登録されたリスナーを削除します。void
removeChangeListener(RealmObjectChangeListener listener)
以前に登録されたリスナーを削除します。
-
-
-
メソッドの詳細
-
deleteFromRealm
public final void deleteFromRealm()
現在関連付けられている Realm からオブジェクトを削除します。このメソッドが呼び出された後、 オブジェクトは無効になり、そのオブジェクトに対して実行されるすべての操作(読み取りまたは書込み)は、 IllealStateException で失敗します。
- 次の例外がスローされます。
IllegalStateException
- 対応する Realm が閉じているか、誤ったスレッドにある場合。- 以下も参照してください。
isValid()
-
deleteFromRealm
public static <E extends RealmModel> void deleteFromRealm(E object)
現在関連付けられている Realm からオブジェクトを削除します。このメソッドが呼び出された後、 オブジェクトは無効になり、そのオブジェクトに対して実行されるすべての操作(読み取りまたは書込み)は、 IllealStateException で失敗します。
- 次の例外がスローされます。
IllegalStateException
- 対応する Realm が閉じているか、誤ったスレッドにある場合。- 以下も参照してください。
isValid()
-
isValid
public final boolean isValid()
RealmObject がまだ を使用するために有効であるかどうか、つまり RealmObject が削除されておらず、Realm
が閉じられていないことを確認します。 管理されていないオブジェクトでは常にtrue
が返されます。これは、観察された場合に
null
であるなど、特定の条件の有効性を確認するために使用できることに注意してください。realm.where(BannerRealm.class).equalTo("type", type).findFirstAsync().asFlowable() .filter(result.isLoaded() && result.isValid()) .first()
- 次のによって指定されます。
isValid
内 インターフェースio.realm.internal.ManageableObject
- 次の値を返します。
true
オブジェクトがまだアクセス可能であるか、管理されていないオブジェクトである場合は、false
、それ以外の場合は 。- 以下も参照してください。
- RxJava と Realm を使用する例
-
isValid
public static <E extends RealmModel> boolean isValid(@Nullable E object)
RealmObject がまだ を使用するために有効であるかどうか、つまり RealmObject が削除されておらず、Realm
が閉じられていないことを確認します。 管理されていないオブジェクトでは常にtrue
が返されます。- パラメーター:
object
- 有効性を確認する RealmObject。- 次の値を返します。
true
オブジェクトがまだアクセス可能であるか、管理されていないオブジェクトである場合は、false
、それ以外の場合は 。
-
IsFrozen
public final boolean isFrozen()
この RealmObject が固定されているかどうかを返します。- 次のによって指定されます。
isFrozen
内 インターフェースio.realm.internal.ManageableObject
- 次の値を返します。
true
RealmObject が固定されている場合は 、固定されていない場合はfalse
になります。- 以下も参照してください。
freeze()
-
freeze
public final <E extends RealmModel> E freeze()
このオブジェクトの固定スナップショットを返します。 固定されたコピーは、IllegalStateException
をスローすることなく、任意のスレッドから読み取りとクエリを実行できます。RealmObject を固定すると、独自のライフサイクルを持つ固定 Realm も作成されますが、元のコレクションを生成したライブ Realm が完全に閉じている場合(つまり 全スレッドにわたるすべての インスタンスが閉じられます)。固定された Realm と オブジェクトも閉じられます。
凍結されたオブジェクトは通常どおりクエリできますが、それを何らかの方法で変更しようとしたり、リスナーを登録しようとすると
IllegalStateException
がスローされます。注: 異なるバージョンを持つ多数の固定オブジェクトを有効にすると、Realm のファイルサイズに悪影響が及ぶ可能性があります。 このような状況を回避するには、
RealmConfiguration.Builder.maxNumberOfActiveVersions(long)
を設定します。- 次の値を返します。
- このオブジェクトの固定されたコピー。
- 次の例外がスローされます。
IllegalStateException
- このメソッドが書込みトランザクション内から呼び出される場合。
-
IsFrozen
public static <E extends RealmModel> boolean isFrozen(E object)
この RealmObject が固定されているかどうかを返します。- 次の値を返します。
true
RealmObject が固定されている場合は 、固定されていない場合はfalse
になります。- 以下も参照してください。
freeze()
-
freeze
public static <E extends RealmModel> E freeze(E object)
このオブジェクトの固定スナップショットを返します。 固定されたコピーは、IllegalStateException
をスローすることなく、任意のスレッドから読み取りとクエリを実行できます。RealmObject を固定すると、独自のライフサイクルを持つ固定 Realm も作成されますが、元のコレクションを生成したライブ Realm が完全に閉じている場合(つまり 全スレッドにわたるすべての インスタンスが閉じられます)。固定された Realm と オブジェクトも閉じられます。
凍結されたオブジェクトは通常どおりクエリできますが、それを何らかの方法で変更しようとしたり、リスナーを登録しようとすると
IllegalStateException
がスローされます。注: 異なるバージョンを持つ多数の固定オブジェクトを有効にすると、Realm のファイルサイズに悪影響が及ぶ可能性があります。 このような状況を回避するには、
RealmConfiguration.Builder.maxNumberOfActiveVersions(long)
を設定します。- 次の値を返します。
- このオブジェクトの固定されたコピー。
- 次の例外がスローされます。
IllegalStateException
- このメソッドが書込みトランザクション内から呼び出される場合。
-
isLoaded
public final boolean isLoaded()
この RealmObject を検索するために使用されるクエリが完了しているかどうかを確認します。RealmQuery.findFirstAsync()
RealmObject
などの非同期メソッドでは、 の将来の結果を表すRealmQuery
が返されます。この点では、Future
と同様と見なされます。isLoaded()
がtrue
を返すと、クエリでクエリ パラメータに一致するオブジェクトが見つからなかった場合でも、 オブジェクトはクエリ結果を表します。 この場合、RealmObject
は「null」オブジェクトになります。「Null」オブジェクトは
null
を表します。 いずれかのアクセスサーが呼び出された場合は例外がスローされるため、メソッドを呼び出す前にisValid()
も確認することが重要です。 一般的なパターンは次のとおりです。Person person = realm.where(Person.class).findFirstAsync(); person.isLoaded(); // == false person.addChangeListener(new RealmChangeListener() { \@Override public void onChange(Person person) { person.isLoaded(); // Always true here if (person.isValid()) { // It is safe to access the person. } } });
同期 RealmObject は定義上、このメソッドはそれらに対して常に
true
を返します。 このメソッドは、管理対象ではないオブジェクト(Realm 外で作成)で呼び出されるとtrue
を返します。- 次の値を返します。
true
クエリが完了した場合は 、クエリが進行中の場合はfalse
になります。- 以下も参照してください。
isValid()
-
isLoaded
public static <E extends RealmModel> boolean isLoaded(E object)
この RealmObject を検索するために使用されるクエリが完了しているかどうかを確認します。RealmQuery.findFirstAsync()
RealmObject
などの非同期メソッドでは、 の将来の結果を表すRealmQuery
が返されます。この点では、Future
と同様と見なされます。isLoaded()
がtrue
を返すと、クエリでクエリ パラメータに一致するオブジェクトが見つからなかった場合でも、 オブジェクトはクエリ結果を表します。 この場合、RealmObject
は「null」オブジェクトになります。「Null」オブジェクトは
null
を表します。 いずれかのアクセスサーが呼び出された場合は例外がスローされるため、メソッドを呼び出す前にisValid()
も確認することが重要です。 一般的なパターンは次のとおりです。Person person = realm.where(Person.class).findFirstAsync(); RealmObject.isLoaded(person); // == false RealmObject.addChangeListener(person, new RealmChangeListener() { \@Override public void onChange(Person person) { RealmObject.isLoaded(person); // always true here if (RealmObject.isValid(person)) { // It is safe to access the person. } } });
同期 RealmObject は定義上、このメソッドはそれらに対して常に
true
を返します。 このメソッドは、管理対象ではないオブジェクト(Realm 外で作成)で呼び出されるとtrue
を返します。- パラメーター:
object
- 確認する RealmObject。- 次の値を返します。
true
クエリが完了した場合は 、クエリが進行中の場合はfalse
になります。- 以下も参照してください。
isValid(RealmModel)
-
isManaged
公開ブール値 isManaged()
このオブジェクトが Realm によって管理されているかどうかを確認します。 管理対象オブジェクトは、基礎となる Realm ファイル内のデータを囲むラッパーに相当します。 ルーパー スレッドでは、管理対象のオブジェクトがライブアップデートされるため、常に最新データを参照します。addChangeListener(RealmChangeListener)
を使用して変更リスナーを登録し、変更が発生したときに通知を受けることができます。 管理されたオブジェクトはスレッド制限され、作成されたオブジェクト以外の他のスレッドからはアクセスできません。このメソッドが
false
を返す場合、オブジェクトは管理されていません。 管理されていない オブジェクトは通常の Java オブジェクトであるため、スレッド間で自由に解析できますが、オブジェクト内のデータは基礎となる Realm に接続されていないため、ライブ更新はされません。Realm.copyToRealm(RealmModel, ImportFlag...)
を使用して、非管理オブジェクトから管理対象オブジェクトを作成することができます。 管理されていないオブジェクトは、Realm.copyFromRealm(RealmModel)
を使用して管理対象オブジェクトから作成できます。- 次のによって指定されます。
isManaged
内 インターフェースio.realm.internal.ManageableObject
- 次の値を返します。
true
オブジェクトが管理されている場合は 、管理されていない場合はfalse
になります。
-
isManaged
public static <E extends RealmModel> boolean isManaged(E object)
このオブジェクトが Realm によって管理されているかどうかを確認します。 管理対象オブジェクトは、基礎となる Realm ファイル内のデータを囲むラッパーに相当します。 ルーパー スレッドでは、管理対象のオブジェクトがライブアップデートされるため、常に最新データを参照します。addChangeListener(RealmModel, RealmChangeListener)
を使用して変更リスナーを登録し、変更が発生したときに通知を受けることができます。 管理されたオブジェクトはスレッド制限され、作成されたオブジェクト以外の他のスレッドからはアクセスできません。このメソッドが
false
を返す場合、オブジェクトは管理されていません。 管理されていない オブジェクトは通常の Java オブジェクトであるため、スレッド間で自由に解析できますが、オブジェクト内のデータは基礎となる Realm に接続されていないため、ライブ更新はされません。Realm.copyToRealm(RealmModel, ImportFlag...)
を使用して、非管理オブジェクトから管理対象オブジェクトを作成することができます。 管理されていないオブジェクトは、Realm.copyFromRealm(RealmModel)
を使用して管理対象オブジェクトから作成できます。- 次の値を返します。
true
オブジェクトが管理されている場合は 、管理されていない場合はfalse
になります。
-
getRealm
public Realm getRealm()
- 次の値を返します。
Realm
このオブジェクトが属するnull
インスタンス、またはこのオブジェクトが管理されていない場合は インスタンス。- 次の例外がスローされます。
IllegalStateException
- このオブジェクトがDynamicRealmObject
のインスタンスであるか、このオブジェクトがすでに削除されているか、対応するRealm
がすでに閉じられている場合。
-
getRealm
public static Realm getRealm(RealmModel model)
- パラメーター:
model
- 以外のRealmModel
DynamicRealmObject
インスタンス- 次の値を返します。
- が属する
Realm
model
インスタンス、またはnull
が管理されていない場合は インスタンス。model
- 次の例外がスローされます。
IllegalArgumentException
-model
がnull
の場合。IllegalStateException
-model
がDynamicRealmObject
のインスタンスであるか、このオブジェクトがすでに削除されているか、対応するRealm
がすでに閉じられている場合。
-
負荷
public final boolean load()
非同期クエリ ブロックを作成します。 これにより、登録されているリスナーもtriggerされます。注: 非管理対象オブジェクト(Realm 外で作成)に対して呼び出されると
true
が返されます。- 次の値を返します。
true
クエリが正常に完了した場合は、false
、そうでない場合は になります。
-
負荷
public static <E extends RealmModel> boolean load(E object)
非同期クエリ ブロックを作成します。 これにより、登録されているリスナーもtriggerされます。注: 非管理対象オブジェクト(Realm 外で作成)に対して呼び出されると
true
が返されます。- パラメーター:
object
- 負荷を強制するための RealmObject。- 次の値を返します。
true
クエリが正常に完了した場合は、false
、そうでない場合は になります。
-
addchangeLister
public final <E extends RealmModel> void addChangeListener(RealmObjectChangeListener<E> listener)
この RealmObject に 変更リスナー を追加して、変更に関する詳細情報を取得します。 リスナーは、値フィールドまたは参照された RealmObject フィールドが変更された場合、または RealmList フィールド自体が変更された場合にトリガーされます。変更リスナーを登録しても、基礎となる RealmObject がガベージされるのを防ぐものではありません。 RealmObject がガベージ コレクションされると、変更リスナーはトリガーされなくなります。 これを回避するには、クラス変数内で適切な例がある限り、強力な参照を保持します。
public class MyActivity extends Activity { private Person person; // Strong reference to keep listeners alive \@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); person = realm.where(Person.class).findFirst(); person.addChangeListener(new RealmObjectChangeListener<Person>() { \@Override public void onChange(Person person, ObjectChangeSet changeSet) { // React to change } }); } }
- パラメーター:
listener
- 通知される変更リスナー。- 次の例外がスローされます。
IllegalArgumentException
- 変更リスナーがnull
であるか、 オブジェクトが非管理オブジェクトである場合。IllegalStateException
- 非 loader またはIntentService
スレッドからリスナーを追加しようとする場合。IllegalStateException
- トランザクション内にリスナーを追加しようとする場合。
-
addchangeLister
public final <E extends RealmModel> void addChangeListener(RealmChangeListener<E> listener)
この RealmObject に、値フィールドまたは参照先の RealmObject フィールドが変更された場合、または RealmList フィールド自体が変更された場合にトリガーされる 変更リスナー を追加します。変更リスナーを登録しても、基礎となる RealmObject がガベージされるのを防ぐものではありません。 RealmObject がガベージ コレクションされると、変更リスナーはトリガーされなくなります。 これを回避するには、クラス変数内で適切な例がある限り、強力な参照を保持します。
public class MyActivity extends Activity { private Person person; // Strong reference to keep listeners alive \@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); person = realm.where(Person.class).findFirst(); person.addChangeListener(new RealmChangeListener<Person>() { \@Override public void onChange(Person person) { // React to change } }); } }
- パラメーター:
listener
- 通知される変更リスナー。- 次の例外がスローされます。
IllegalArgumentException
- 変更リスナーがnull
であるか、 オブジェクトが非管理オブジェクトである場合。IllegalStateException
- 非 loader またはIntentService
スレッドからリスナーを追加しようとする場合。IllegalStateException
- トランザクション内にリスナーを追加しようとする場合。
-
addchangeLister
public static <E extends RealmModel> void addChangeListener(E object, RealmObjectChangeListener<E> listener)
RealmObject に 変更リスナー を追加して、変更に関する詳細情報を取得します。 リスナーは、値フィールドまたは参照された RealmObject フィールドが変更された場合、または RealmList フィールド自体が変更された場合にトリガーされます。変更リスナーを登録しても、基礎となる RealmObject がガベージされるのを防ぐものではありません。 RealmObject がガベージ コレクションされると、変更リスナーはトリガーされなくなります。 これを回避するには、クラス変数内で適切な例がある限り、強力な参照を保持します。
public class MyActivity extends Activity { private Person person; // Strong reference to keep listeners alive \@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); person = realm.where(Person.class).findFirst(); person.addChangeListener(new RealmObjectChangeListener<Person>() { \@Override public void onChange(Person person, ObjectChangeSet changeSet) { // React to change } }); } }
- パラメーター:
object
- リスナーを追加する RealmObject。listener
- 通知される変更リスナー。- 次の例外がスローされます。
IllegalArgumentException
-object
がnull
または非管理オブジェクトである場合、または変更リスナーがnull
の場合。IllegalStateException
- 非 loader またはIntentService
スレッドからリスナーを追加しようとする場合。IllegalStateException
- トランザクション内にリスナーを追加しようとする場合。
-
addchangeLister
public static <E extends RealmModel> void addChangeListener(E object, RealmChangeListener<E> listener)
値フィールドまたは参照された RealmObject フィールドが変更された場合、または RealmList フィールド自体が変更された場合にトリガーされる変更リスナーを RealmObject に追加します。変更リスナーを登録しても、基礎となる RealmObject がガベージされるのを防ぐものではありません。 RealmObject がガベージ コレクションされると、変更リスナーはトリガーされなくなります。 これを回避するには、クラス変数内で適切な例がある限り、強力な参照を保持します。
public class MyActivity extends Activity { private Person person; // Strong reference to keep listeners alive \@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); person = realm.where(Person.class).findFirst(); person.addChangeListener(new RealmChangeListener<Person>() { \@Override public void onChange(Person person) { // React to change } }); } }
- パラメーター:
object
- リスナーを追加する RealmObject。listener
- 通知される変更リスナー。- 次の例外がスローされます。
IllegalArgumentException
-object
がnull
または非管理オブジェクトである場合、または変更リスナーがnull
の場合。IllegalStateException
- 非 loader またはIntentService
スレッドからリスナーを追加しようとする場合。IllegalStateException
- トランザクション内にリスナーを追加しようとする場合。
-
deleteCheckLister
public final void removeChangeListener(RealmObjectChangeListener listener)
以前に登録されたリスナーを削除します。- パラメーター:
listener
- 削除する インスタンス。- 次の例外がスローされます。
IllegalArgumentException
- 変更リスナーがnull
であるか、 オブジェクトが非管理オブジェクトである場合。IllegalStateException
- 非ルーパー スレッドからリスナーを削除しようとする場合。
-
deleteCheckLister
public final void removeChangeListener(RealmChangeListener listener)
以前に登録されたリスナーを削除します。- パラメーター:
listener
- 削除する インスタンス。- 次の例外がスローされます。
IllegalArgumentException
- 変更リスナーがnull
であるか、 オブジェクトが非管理オブジェクトである場合。IllegalStateException
- 非ルーパー スレッドからリスナーを削除しようとする場合。
-
deleteCheckLister
public static <E extends RealmModel> void removeChangeListener(E object, RealmObjectChangeListener listener)
指定された RealmObject に以前に登録されたリスナーを削除します。- パラメーター:
object
- リスナーから削除する RealmObject。listener
- 削除する インスタンス。- 次の例外がスローされます。
IllegalArgumentException
-object
または変更リスナーがnull
の場合。IllegalArgumentException
- オブジェクトが管理されていない RealmObject の場合。IllegalStateException
- 非ルーパー スレッドからリスナーを削除しようとする場合。
-
deleteCheckLister
public static <E extends RealmModel> void removeChangeListener(E object, RealmChangeListener<E> listener)
指定された RealmObject に以前に登録されたリスナーを削除します。- パラメーター:
object
- リスナーから削除する RealmObject。listener
- 削除する インスタンス。- 次の例外がスローされます。
IllegalArgumentException
-object
または変更リスナーがnull
の場合。IllegalArgumentException
- オブジェクトが管理されていない RealmObject の場合。IllegalStateException
- 非ルーパー スレッドからリスナーを削除しようとする場合。
-
deleteAllTimeListers
public final void removeAllChangeListeners()
登録されたすべてのリスナーを削除します。
-
deleteAllTimeListers
public static <E extends RealmModel> void removeAllChangeListeners(E object)
指定された RealmObject から登録されたすべてのリスナーを削除します。- パラメーター:
object
- すべてのリスナーを削除する RealmObject。- 次の例外がスローされます。
IllegalArgumentException
- オブジェクトがnull
であるか、Realm によって管理されていない場合。
-
asFlowable
public final <E extends RealmObject> Flowable<E> asFlowable()
この RealmObject への変更を監視する RxJava フロー可能を返します。 サブスクライブすると、現在のオブジェクトが発行されます。 RealmObject が更新されると、オブジェクトの更新が継続的に発行されます -onComplete
は呼び出されません。RealmObject フローを連鎖させる場合、
obj.<MyRealmObjectClass>asFlowable()
を使用して型情報を渡します。それ以外の場合、次の観察可能な値の型はRealmObject
になります。Realm フロー可能から出力されるアイテムは固定されています(
freeze()
を参照してください。 つまり、これらは不変で、どのスレッドでも読み取ることができます。Realm フロー接続は、ライブ Realm を保持するスレッドから常にアイテムを出力します。 つまり、追加の処理が必要な場合は、計算スケジューラーで の値を確認することをお勧めします。
obj.asFlowable() .observeOn(Schedulers.computation()) .map((rxObj) -> doExpensiveWork(rxObj)) .observeOn(AndroidSchedulers.mainThread()) .subscribe( ... );
asFlowable()
で アイテムの発行を停止する場合は、first()
演算子を使用して RxJava に最初の アイテムのみを発行するように指示できます。obj.asFlowable() .filter(obj -> obj.isLoaded()) .first() .subscribe( ... ) // You only get the object once
- 型パラメータ:
E
- 監視されている RealmObject クラス。 このクラスまたはそのスーパータイプである必要があります。- 次の値を返します。
- RxJava Observable は
onNext
のみを呼び出します。onComplete
またはOnError
は呼び出されません。 - 次の例外がスローされます。
UnsupportedOperationException
- 必要な RxJava フレームワークがクラスパスにない場合、または対応する Realm インスタンスが RxJava をサポートしていない場合。IllegalStateException
- Realm が Double スレッドで開かれていない場合。- 以下も参照してください。
- RxJava と Realm
-
as変更セットObservable
public final <E extends RealmObject> Observable<ObjectChange<E>> asChangesetObservable()
この RealmObject への変更を監視する Rx Observable を返します。 サブスクライブすると、現在の RealmObject が発行されます。 RealmObject への更新ごとに、RealmObject とObjectChangeSet
で構成されるペアが送信されます。 RealmObject が初めて発行されるときに、変更セットはnull
になります。RealmObject は更新されるたびに継続的に出力されます。
onComplete
は呼び出されません。Realm Observable から発行されるアイテムは固定されています(
freeze()
を参照してください。 つまり、これらは不変で、どのスレッドでも読み取ることができます。Realm Observable は、ライブ Realm を保持するスレッドから常にアイテムを出力します。 つまり、追加の処理が必要な場合は、計算スケジューラーで の値を確認することをお勧めします。
obj.asChangesetObservable() .observeOn(Schedulers.computation()) .map((rxObj, changes) -> doExpensiveWork(rxObj, changeså)) .observeOn(AndroidSchedulers.mainThread()) .subscribe( ... );
- 次の値を返します。
- RxJava Observable は
onNext
のみを呼び出します。onComplete
またはOnError
は呼び出されません。 - 次の例外がスローされます。
UnsupportedOperationException
- 必要な RxJava フレームワークがクラスパスにない場合、または対応する Realm インスタンスが RxJava をサポートしていない場合。IllegalStateException
- Realm が Double スレッドで開かれていない場合。- 以下も参照してください。
- RxJava と Realm
-
asFlowable
public static <E extends RealmModel> Flowable<E> asFlowable(E object)
この RealmObject への変更を監視する RxJava フロー可能を返します。 サブスクライブすると、現在のオブジェクトが発行されます。 RealmObject が更新されると、オブジェクトの更新が継続的に発行されます -onComplete
は呼び出されません。RealmObject Observable を連鎖させる場合、
obj.<MyRealmObjectClass>asFlowable()
を使用して型情報を渡します。それ以外の場合、次の観察可能な値の型はRealmObject
になります。Realm フロー可能から出力されるアイテムは固定されています(
freeze()
を参照してください。 つまり、これらは不変で、どのスレッドでも読み取ることができます。Realm フロー接続は、ライブ Realm を保持するスレッドから常にアイテムを出力します。 つまり、追加の処理が必要な場合は、計算スケジューラーで の値を確認することをお勧めします。
obj.asFlowable() .observeOn(Schedulers.computation()) .map((rxObj) -> doExpensiveWork(rxObj)) .observeOn(AndroidSchedulers.mainThread()) .subscribe( ... );
asFlowable()
で 項目の発行を停止する場合は、first()
演算子を使用して RxJava に最初の項目のみを発行するように指示できます。obj.asFlowable() .filter(obj -> obj.isLoaded()) .first() .subscribe( ... ) // You only get the object once
- パラメーター:
object
- 監視されている RealmObject クラス。 このクラスまたはそのスーパータイプである必要があります。- 次の値を返します。
- RxJava Observable は
onNext
のみを呼び出します。onComplete
またはOnError
は呼び出されません。 - 次の例外がスローされます。
UnsupportedOperationException
- 必要な RxJava フレームワークがクラスパスにない場合。IllegalStateException
- Realm が Double スレッドで開かれていない場合。- 以下も参照してください。
- RxJava と Realm
-
as変更セットObservable
public static <E extends RealmModel> Observable<ObjectChange<E>> asChangesetObservable(E object)
この RealmObject への変更を監視する Rx Observable を返します。 サブスクライブすると、現在の RealmObject が発行されます。 RealmObject への更新ごとに、RealmObject とObjectChangeSet
で構成されるペアが送信されます。 RealmObject が初めて発行されるときに、変更セットはnull
になります。RealmObject は更新されるたびに継続的に出力されます。
onComplete
は呼び出されません。Realm Observable から発行されるアイテムは固定されています(
freeze()
を参照してください。 つまり、これらは不変で、どのスレッドでも読み取ることができます。Realm Observable は、ライブ Realm を保持するスレッドから常にアイテムを出力します。 つまり、追加の処理が必要な場合は、計算スケジューラーで の値を確認することをお勧めします。
obj.asChangesetObservable() .observeOn(Schedulers.computation()) .map((rxObj, changes) -> doExpensiveWork(rxObj, changeså)) .observeOn(AndroidSchedulers.mainThread()) .subscribe( ... );
- パラメーター:
object
- 監視されている RealmObject クラス。 このクラスまたはそのスーパータイプである必要があります。- 次の値を返します。
- RxJava Observable は
onNext
のみを呼び出します。onComplete
またはOnError
は呼び出されません。 - 次の例外がスローされます。
UnsupportedOperationException
- 必要な RxJava フレームワークがクラスパスにない場合、または対応する Realm インスタンスが RxJava をサポートしていない場合。IllegalStateException
- Realm が Double スレッドで開かれていない場合。- 以下も参照してください。
- RxJava と Realm
-
-