Docs Menu

サブスクリプションセットのインターフェース

実装されたインターフェース:

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

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

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

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

オフラインでもサブスクリプションセットを変更することは可能ですが、 getState()SubscriptionSet.State.COMPLETEを返す前に、変更はサーバーによって受け入れられません。

waitForSynchronization()とそのバリアントを使用して、サブスクリプション セットをサーバーと強制的に同期することができます。

修飾子と型
クラスと説明

public static final

public static interface

public static interface

public static interface

修飾子と型
メソッドと説明
String name
)

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

指定されたクエリを含む最初のサブスクライブを見つけます。

public 文字列

getState() State.ERROR を返す場合、このメソッドはその理由を返します。

SubscriptionSet の現在の状態を返します。

public int

size ()

このサブスクリプションセットに現在存在するサブスクライブの数を返します。

サブスクライブセットを変更します。

サブスクリプションセットを非同期に変更します。

パブリックブール値

サブスクリプションセットがサーバーと同期されるまで待ちます。

パブリックブール値

サブスクリプションセットがサーバーと同期されるまで待ちます。

サブスクリプションセットがサーバーと同期するまで非同期に待ちます。

サブスクリプションセットがサーバーと同期するまで非同期に待ちます。

String name
)

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

パラメーター

  • name - 検索するサブスクライブの名前。

戻り値

一致するサブスクライブを選択するか、その名前のサブスクライブが見つからなかった場合はnullになります。

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

パラメーター

  • query - 検索するクエリ。

戻り値

クエリを含む最初のサブスクライブ。一致するものが見つからなかった場合はnullになります。

getState() State.ERROR を返す場合、このメソッドはその理由を返します。それに応じてサブスクライブを変更し、 waitForSynchronization() を呼び出すと、エラーを修正できます。

戻り値

サブスクリプションセットがState.ERROR状態にある場合は、基礎となるエラー。 その他のすべての状態ではnullが返されます。

SubscriptionSet の現在の状態を返します。 各状態の詳細については、 SubscriptionSet.Stateを参照してください。

戻り値

サブスクリプションセット の現在の状態。

public int size ()

このサブスクリプションセットに現在存在するサブスクライブの数を返します。

戻り値

サブスクライブセット内のサブスクライブの数。

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

パラメーター

  • action - サブスクライブ セットを変更するブロック。 呼び出し元のスレッドで実行されます。

戻り値

このサブスクライブ セットは、更新されました。

スロー

  • 例外 - 更新中に発生した例外は、バックに伝達されます。

サブスクリプションセットを非同期に変更します。 更新中に例外がスローされた場合、変更は適用されません。 *

パラメーター

  • callback - 非同期リクエストを制御するコールバック。 成功または失敗はここで報告されます。

戻り値

非同期実行を制御するタスク。

public boolean waitForSynchronization (
Long timeOut,
)

サブスクライブション セットがサーバーと同期するまで待ちます。サーバーがクエリのセットを受け入れ、それらのデータをダウンロードした場合、またはエラーが発生した場合は を返します。ダウンロードされたデータを確認するには、 Realm.refresh() を手動で呼び出すか、変更リスナーがトリガーするまで待機する必要があることに注意してください。エラーが発生した場合、 getErrorMessage() によって基礎となる理由を見つけることができます。

パラメーター

  • timeOut - 同期が成功するか失敗するまでの待機時間。

  • unit - タイムアウトに使用される時間の単位。

戻り値

現在のすべてのサブスクライブがサーバーによって受け入れられ、データがダウンロードされた場合はtrue 、エラーが発生した場合はfalseになります。

スロー

public boolean waitForSynchronization ()

サブスクライブション セットがサーバーと同期するまで待ちます。サーバーがクエリのセットを受け入れ、それらのデータをダウンロードした場合、またはエラーが発生した場合は を返します。ダウンロードされたデータを確認するには、 Realm.refresh() を手動で呼び出すか、変更リスナーがトリガーするまで待機する必要があることに注意してください。エラーが発生した場合、 getErrorMessage() によって基礎となる理由を見つけることができます。

戻り値

現在のすべてのサブスクライブがサーバーによって受け入れられ、データがダウンロードされた場合はtrue 、エラーが発生した場合はfalseになります。

サブスクライブセットがサーバーと同期するまで非同期に待ちます。コールバックは、サーバーがクエリのセットを受け入れ、それらのデータをダウンロードした場合、またはエラーが発生した場合に呼び出されます。ダウンロードされたデータを確認するには、 Realm.refresh() を手動で呼び出すか、変更リスナーがトリガーするまで待機する必要があることに注意してください。エラーが発生した場合、 getErrorMessage() によって基礎となる理由を見つけることができます。

パラメーター

  • timeOut - 同期が成功するか失敗するまでの待機時間。

  • unit - タイムアウトに使用される時間の単位。

  • callback - 同期が成功または失敗したときにtriggerされるコールバック。 結果は UI スレッドで報告されます。

戻り値

現在のすべてのサブスクライブがサーバーによって受け入れられ、データがダウンロードされた場合はtrue 、エラーが発生した場合はfalseになります。

サブスクライブセットがサーバーと同期するまで非同期に待ちます。サーバーがクエリのセットを受け入れ、それらのデータをダウンロードした場合、またはエラーが発生した場合は、コールバックが呼び出されます。ダウンロードされたデータを確認するには、 Realm.refresh() を手動で呼び出すか、変更リスナーがトリガーするまで待機する必要があることに注意してください。エラーが発生した場合、 getErrorMessage() によって基礎となる理由を見つけることができます。

パラメーター

  • callback - 同期が成功または失敗したときにtriggerされるコールバック。 結果は UI スレッドで報告されます。

戻り値

現在のすべてのサブスクライブがサーバーによって受け入れられ、データがダウンロードされた場合はtrue 、エラーが発生した場合はfalseになります。