パッケージ io.realm.mongodb.sync

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

  • すべてのスーパーインターフェース:
    Iterable<Subscription>
    すべての既知のサブインターフェース:
    MutableSubscriptionSet

    public interface SubscriptionSet
    extends Iterable<Subscription>
    サブスクライブセットは、柔軟な同期用に構成された特定の Realm の現在のすべてのSubscriptionの不変のビューです。

    Flexible Sync は、 RealmQueryを使用してデバイスとの間で同期されるデータを定義する方法です。 クエリとそのメタデータはSubscriptionで表されます。

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

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

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

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

    • メソッドの詳細

      • find

        @Nullable
        サブスクリプションfind( RealmQueryクエリ)
        指定されたクエリを含む最初のサブスクライブを見つけます。 複数の名前付きサブスクリプションに同じクエリを含めることができます。
        パラメーター:
        query - 検索するクエリ。
        次の値を返します。
        クエリを含む最初のサブスクライブ。一致するものが見つからなかった場合はnullになります。
      • find

        @Nullable
        サブスクリプションfind( string名)
        指定された名前のサブスクライブを見つけます。
        パラメーター:
        name - 検索するサブスクライブの名前。
        次の値を返します。
        一致するサブスクライブを選択するか、その名前のサブスクライブが見つからなかった場合はnullになります。
      • getState

        SubscriptionSet.State getState()
        SubscriptionSet の現在の状態を返します。 各状態の詳細については、 SubscriptionSet.Stateを参照してください。
        次の値を返します。
        サブスクリプションセット の現在の状態。
      • サイズ

        int size()
        このサブスクリプションセットに現在存在するサブスクライブの数を返します。
        次の値を返します。
        サブスクライブセット内のサブスクライブの数。
      • waitForSyncronization

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

        ブール値 waitForSynchronization( Long timeOut、 TimeUnit単位)
        サブスクリプションセットがサーバーと同期されるまで待ちます。 サーバーがクエリのセットを受け入れ、それらのデータをダウンロードした場合、またはエラーが発生した場合は を返します。 ダウンロードされたデータを確認するには、BaseRealm.refresh() を手動で呼び出すか、変更リスナーがtriggerされるまで待機する必要があることに注意してください。 エラーが発生した場合、基礎となる理由はgetErrorMessage()を通じて見つけることができます。
        パラメーター:
        timeOut - 同期が成功するか失敗するまでの待機時間。
        unit - タイムアウトに使用される時間の単位。
        次の値を返します。
        true 現在のすべてのサブスクライブがサーバーによって受け入れられ、データがダウンロードされた場合は 、エラーが発生した場合はfalseになります。
        次の例外がスローされます。
        RuntimeException - タイムアウトを超えた場合。
      • waitForSynchronizationAsync

        RealmAsyncTask waitForSynchronizationAsync ( SubscriptionSet.Statechangeコールバック コールバック)
        サブスクリプションセットがサーバーと同期するまで非同期に待ちます。 サーバーがクエリのセットを受け入れ、それらのデータをダウンロードした場合、またはエラーが発生した場合は、コールバックが呼び出されます。 ダウンロードされたデータを確認するには、BaseRealm.refresh() を手動で呼び出すか、変更リスナーがtriggerされるまで待機する必要があることに注意してください。 エラーが発生した場合、基礎となる理由はgetErrorMessage()を通じて見つけることができます。
        パラメーター:
        callback - 同期が成功または失敗したときにtriggerされるコールバック。 結果は UI スレッドで報告されます。
        次の値を返します。
        true 現在のすべてのサブスクライブがサーバーによって受け入れられ、データがダウンロードされた場合は 、エラーが発生した場合はfalseになります。
      • waitForSynchronizationAsync

        RealmAsyncTask waitForSynchronizationAsync ( Long timeOut、 TimeUnitユニット、サブスクリプションセット.Statechangeコールバック コールバック)
        サブスクリプションセットがサーバーと同期するまで非同期に待ちます。 コールバックは、サーバーがクエリのセットを受け入れ、それらのデータをダウンロードした場合、またはエラーが発生した場合に呼び出されます。 ダウンロードされたデータを確認するには、BaseRealm.refresh() を手動で呼び出すか、変更リスナーがtriggerされるまで待機する必要があることに注意してください。 エラーが発生した場合、基礎となる理由はgetErrorMessage()を通じて見つけることができます。
        パラメーター:
        timeOut - 同期が成功するか失敗するまでの待機時間。
        unit - タイムアウトに使用される時間の単位。
        callback - 同期が成功または失敗したときにtriggerされるコールバック。 結果は UI スレッドで報告されます。
        次の値を返します。
        true 現在のすべてのサブスクライブがサーバーによって受け入れられ、データがダウンロードされた場合は 、エラーが発生した場合はfalseになります。
      • update

        SubscriptionSet update( SubscriptionSet.Updateコールバックアクション)
        サブスクライブセットを変更します。 更新中に例外がスローされた場合、変更は適用されません。 更新が成功すると、このサブスクリプションセットは変更された状態で更新されます。
        パラメーター:
        action - サブスクライブセットを変更するブロック。 呼び出し元のスレッドで実行されます。
        次の値を返します。
        このサブスクライブ セットは、更新されました。
        次の例外がスローされます。
        Exception - 更新中に発生した例外は、バックに伝達されます。
      • updateAsync

        RealmAsyncTask updateAsync​(SubscriptionSet.UpdateAsyncCallback callback)
        サブスクリプションセットを非同期に変更します。 更新中に例外がスローされた場合、変更は適用されません。 *
        パラメーター:
        callback - 非同期リクエストを制御するコールバック。 成功または失敗はここで報告されます。
        次の値を返します。
        非同期実行を制御するタスク。