サブスクリプションセット

インターフェース SubscriptionSet<t : BaseRealm> : BaseSubscriptionSet

サブスクリプションセットは、Flexible Sync 用に構成された特定の Realm の現在のすべてのサブスクリプションの不変のビューです。

Flexible Sync は、 RealmQueryを使用してデバイスとの間で同期されるデータを定義する方法です。 クエリとそのメタデータは、サブスクリプションによって表されます。

したがって、サブスクリプションセットは、デバイスで利用可能で、サーバーに同期されるすべてのデータを定義します。 無効なクエリが含まれるなど、サブスクリプションセットでエラーが発生した場合、サブスクライブセット全体がSubscriptionSetState.ERROR状態になり、エラーが修正されるまで同期は行われません。

サブスクリプションが削除されると、対応するデータも削除されますが、デバイスからのみ削除されます。 サーバー上で削除されません。

オフラインでもサブスクリプションセットを変更することは可能ですが、 BaseSubscriptionSet.rateSubscriptionSetState.COMPLETEを返す前に、変更はサーバーによって受け入れられません。これには、デバイスがオンラインになっている必要があります。

waitForSynchronizationを使用すると、サブスクリプションセットがサーバーと同期されるまで待機できます。

プロパティ

クリップボードにコピーされたリンク
抽象 価値 errorsMessage: 文字列?

状態SubscriptionSetState.ERRORを返す場合、このメソッドは理由を返します。 それに応じてサブスクリプションを変更し、 SubscriptionSet.waitForSynchronizationを呼び出すことで、エラーを修正できます。

クリップボードにコピーされたリンク
抽象 価値 サイズ: Int

このサブスクリプションセット内の現在のサブスクライブの数。

クリップボードにコピーされたリンク

SubscriptionSet の現在の状態。 各状態の詳細については、「 SubscriptionSetState 」を参照してください。

関数

クリップボードにコピーされたリンク
抽象 fun 閉じる()
クリップボードにコピーされたリンク

指定された名前のサブスクライブを見つけます。

クリップボードにコピーされたリンク

指定されたクエリを含む最初のサブスクライブを見つけます。 複数の名前付きサブスクリプションに同じクエリを含めることができます。

クリップボードにコピーされたリンク
クリップボードにコピーされたリンク
抽象 fun refresh(): SubscriptionSet<t>

サブスクリプションの最新の基礎となる状態を反映するように、サブスクリプションセットの状態を更新します。

クリップボードにコピーされたリンク
抽象 paused fun update(ブロック: MutableSubscriptionSet 邦土: T ) ->単位): SubscriptionSet<t>

サブスクライブセットを変更します。 更新中に例外がスローされた場合、変更は適用されません。 更新が成功すると、このサブスクリプションセットは変更された状態で更新されます。

クリップボードにコピーされたリンク
抽象 paused fun waitForSyncronization(タイムアウト : = duration.INFINITE): ブール値

サブスクリプションセットがサーバーと同期されるまで待ちます。 サーバーがクエリのセットを受け入れ、それらのデータをダウンロードした場合、またはエラーが発生した場合は を返します。