パッケージ 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()
とそのバリアントを使用して、サブスクリプションセットをサーバーと強制的に同期することができます。
-
-
ネストされたクラスの概要
ネストされたクラス 修飾子と型 インターフェース 説明 static class
SubscriptionSet.State
サブスクリプション セットが該当する可能性のある状態。static interface
SubscriptionSet.StateChangeCallback
サーバーがサブスクリプションセットを処理するのを非同期に待機するときに使用されるコールバック。static interface
SubscriptionSet.UpdateAsyncCallback
サブスクリプション セットを非同期に更新するときに使用されるコールバック。static interface
SubscriptionSet.UpdateCallback
サブスクリプションセットを変更するときに使用されるインターフェース。
-
メソッドの概要
すべてのメソッド インスタンス メソッド 抽象メソッド 修飾子と型 方式 説明 Subscription
find(RealmQuery query)
指定されたクエリを含む最初のサブスクライブを見つけます。Subscription
find(String name)
指定された名前のサブスクライブを見つけます。String
getErrorMessage()
getState()
がSubscriptionSet.State.ERROR
を返す場合、このメソッドは理由を返します。SubscriptionSet.State
getState()
SubscriptionSet の現在の状態を返します。int
size()
このサブスクリプションセットに現在存在するサブスクライブの数を返します。SubscriptionSet
update(SubscriptionSet.UpdateCallback action)
サブスクライブセットを変更します。RealmAsyncTask
updateAsync(SubscriptionSet.UpdateAsyncCallback callback)
サブスクリプションセットを非同期に変更します。boolean
waitForSynchronization()
サブスクリプションセットがサーバーと同期されるまで待ちます。boolean
waitForSynchronization(Long timeOut, TimeUnit unit)
サブスクリプションセットがサーバーと同期されるまで待ちます。RealmAsyncTask
waitForSynchronizationAsync(SubscriptionSet.StateChangeCallback callback)
サブスクリプションセットがサーバーと同期するまで非同期に待ちます。RealmAsyncTask
waitForSynchronizationAsync(Long timeOut, TimeUnit unit, SubscriptionSet.StateChangeCallback callback)
サブスクリプションセットがサーバーと同期するまで非同期に待ちます。-
インターフェース java.lang から継承されたメソッド。イテラブル
forEach, iterator, spliterator
-
-
-
-
メソッドの詳細
-
find
@Nullable サブスクリプションfind( RealmQueryクエリ)
指定されたクエリを含む最初のサブスクライブを見つけます。 複数の名前付きサブスクリプションに同じクエリを含めることができます。- パラメーター:
query
- 検索するクエリ。- 次の値を返します。
- クエリを含む最初のサブスクライブ。一致するものが見つからなかった場合は
null
になります。
-
find
@Nullable サブスクリプションfind( string名)
指定された名前のサブスクライブを見つけます。- パラメーター:
name
- 検索するサブスクライブの名前。- 次の値を返します。
- 一致するサブスクライブを選択するか、その名前のサブスクライブが見つからなかった場合は
null
になります。
-
getState
SubscriptionSet.State getState()
SubscriptionSet の現在の状態を返します。 各状態の詳細については、SubscriptionSet.State
を参照してください。- 次の値を返します。
- サブスクリプションセット の現在の状態。
-
サイズ
int size()
このサブスクリプションセットに現在存在するサブスクライブの数を返します。- 次の値を返します。
- サブスクライブセット内のサブスクライブの数。
-
getErrorMessage
@Nullable string getErrorMessage()
getState()
がSubscriptionSet.State.ERROR
を返す場合、このメソッドは理由を返します。 それに応じてサブスクライブを変更し、waitForSynchronization()
を呼び出すと、エラーを修正できます。- 次の値を返します。
- サブスクリプションセットが
SubscriptionSet.State.ERROR
状態にある場合は、基礎となるエラー。 その他のすべての状態ではnull
が返されます。
-
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
- 非同期リクエストを制御するコールバック。 成功または失敗はここで報告されます。- 次の値を返します。
- 非同期実行を制御するタスク。
-
-