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

Class SyncConfiguration


  • public class SyncConfiguration
    extends RealmConfiguration
    SyncConfigurationは、MongoDB Realm を使用してデバイス間で同期できる Realm Database を設定するために使用されます。

    を作成するには、有効なUser SyncConfigurationが必要です。ユーザー オブジェクトを取得する方法の詳細については、 CredentialsApp.loginAsync(Credentials, App.Callback)を参照してください。

    最小のSyncConfigurationは以下にあります。

     
     App app = new App("app-id");
     User user = app.login(Credentials.anonymous());
     SyncConfiguration config = SyncConfiguration.defaultConfiguration(user, "partition-value");
     Realm realm = Realm.getInstance(config);
     
     

    同期された Realm は、自動的に検出および実行できる追加の移行のみをサポートするため、通常の Realm と比較して次のビルダ オプションにアクセスすることはできません。

    • deleteRealmIfMigrationNeeded()
    • migration(Migration)
    同期された Realm は、通常の同期されていない Realm と同様にRealm.getInstance(RealmConfiguration)Realm.getDefaultInstance()を使用して作成されます。
    以下も参照してください。
    同期の詳細については、のDocsを参照してください。
    • メソッドの詳細

      • forRecovery

        public static RealmConfiguration forRecovery​(String canonicalPath,
                                                     @Nullable
                                                     byte[] encryptionKey,
                                                     @Nullable
                                                     Object... modules)
        読み取り専用の同期されていない Realm を開き、保留中の変更を回復するのに適したRealmConfigurationを返します。 これは、バックアップ/リカバリ Realm を開こうとするときに役立ちます(クライアントがリセットされた後)。
        パラメーター:
        canonicalPath - この構成で定義された Realm ファイルへの絶対パス。
        encryptionKey - Realm ファイルを暗号化/復号化するために使用されるキー。
        modules - 指定すると、Realm スキーマは提供されたモジュールに制限されます。
        次の値を返します。
        オフラインで使用できる RealmConfiguration
      • defaultConfig

        public static SyncConfiguration defaultConfig​(User user)
        指定されたユーザーのデフォルトの Flexible Sync 構成を返します。
        パラメーター:
        user - Realm アプリにアクセスするために使用されるユーザー。
        次の値を返します。
        特定のユーザーのデフォルトの Flexible Sync 構成。
      • defaultConfig

        public static SyncConfiguration defaultConfig​(User user,
                                                      @Nullable
                                                      String partitionValue)
        指定されたユーザーとパーティション値の、デフォルトのパーティションベースの同期構成を返します。
        パラメーター:
        user - Realm アプリにアクセスするために使用されるユーザー。
        partitionValue - 同期されるリモート Realm を識別するパーティション値。
        次の値を返します。
        特定のユーザーとパーティション値のデフォルト構成。
      • defaultConfig

        public static SyncConfiguration defaultConfig​(User user,
                                                      @Nullable
                                                      Long partitionValue)
        指定されたユーザーとパーティション値の、デフォルトのパーティションベースの同期構成を返します。
        パラメーター:
        user - Realm アプリにアクセスするために使用されるユーザー。
        partitionValue - 同期されるリモート Realm を識別するパーティション値。
        次の値を返します。
        特定のユーザーとパーティション値のデフォルト構成。
      • defaultConfig

        public static SyncConfiguration defaultConfig​(User user,
                                                      @Nullable
                                                      Integer partitionValue)
        指定されたユーザーとパーティション値の、デフォルトのパーティションベースの同期構成を返します。
        パラメーター:
        user - Realm アプリにアクセスするために使用されるユーザー。
        partitionValue - 同期されるリモート Realm を識別するパーティション値。
        次の値を返します。
        特定のユーザーとパーティション値のデフォルト構成。
      • defaultConfig

        public static SyncConfiguration defaultConfig​(User user,
                                                      @Nullable
                                                      ObjectId partitionValue)
        指定されたユーザーとパーティション値の、デフォルトのパーティションベースの同期構成を返します。
        パラメーター:
        user - Realm アプリにアクセスするために使用されるユーザー。
        partitionValue - 同期されるリモート Realm を識別するパーティション値。
        次の値を返します。
        特定のユーザーとパーティション値のデフォルト構成。
      • defaultConfig

        public static SyncConfiguration defaultConfig​(User user,
                                                      @Nullable
                                                      UUID partitionValue)
        指定されたユーザーとパーティション値の、デフォルトのパーティションベースの同期構成を返します。
        パラメーター:
        user - Realm アプリにアクセスするために使用されるユーザー。
        partitionValue - 同期されるリモート Realm を識別するパーティション値。
        次の値を返します。
        特定のユーザーとパーティション値のデフォルト構成。
      • forRecovery

        public static RealmConfiguration forRecovery​(String canonicalPath)
        読み取り専用の同期されていない Realm を開き、保留中の変更を回復するのに適したRealmConfigurationを返します。 これは、バックアップ/リカバリ Realm を開こうとするときに役立ちます(クライアントがリセットされた後)。 注: これにより、デフォルトの Realm モジュール(すべてのRealmModelで構成されます)が使用され、暗号化も使用されないことが前提となります。
        パラメーター:
        canonicalPath - この構成で定義された Realm ファイルへの絶対パス。
        次の値を返します。
        オフラインで使用できる RealmConfiguration
      • getInitialSubscriptionsHandler

        public SyncConfiguration.InitialFlexibleSyncSubscriptions getInitialSubscriptionsHandler()
        この Realm の構成された初期サブスクリプション ハンドラーを返します。
        次の値を返します。
        この Realm の初期サブスクリプションを構成するために使用される ハンドラー 。
      • getUser

        publicユーザーgetUser()
        ユーザーを返します。
        次の値を返します。
        ユーザー。
      • getServerUrl

        public URI getServerUrl()
        ローカル Realm が同期しているリモート MongoDB Realm のサーバー URI を返します。
        次の値を返します。
        URI このローカル Realm が同期する MongoDB Realm を識別する。
      • getErrorHandler

        public SyncSession.ErrorHandler getErrorHandler()
        このSyncConfigurationのエラー ハンドラーを返します。
        次の値を返します。
        エラー ハンドラーには該当しません。
      • getClientResetHandler

        @非推奨のパブリックSyncSession.ClientResetHandler getClientResetHandler()
        非推奨。
        このSyncConfigurationのクライアント リセット ハンドラーを返します。
        次の値を返します。
        クライアント リセット ハンドラーを構成します。
      • getSyncClientResetStrategy

        public SyncClientResetStratey getSyncClientResetStratey()
        このSyncConfigurationの同期クライアント リセット戦略を返します。
        次の値を返します。
        同期クライアント リセット戦略。
      • ShouldDeleteRealmOnLogout

        公開ブール値のShouldDeleteRealmOnLogout()
        Realm ファイルを所有するUserがログアウトしたらその Realm ファイルを削除する必要がある場合は、 trueを返します。
        次の値を返します。
        true Userがログアウトした場合に Realm ファイルを削除する必要がある場合。 false if the file is allowed to remain behind.
      • ShouldWaitForInitial remoteData

        公開ブール値 mustWaitForInitial remoteData()
        Realm が初めて開く前にリモート サーバーからすべての既知の変更をダウンロードする場合はtrueを返します。
        次の値を返します。
        true Realm を開く前にすべてのリモート変更がダウンロードされる場合は、。 Realm をすぐに開くことができる場合は、 false
      • getInitial remoteDataTimeout

        public long long getInitial remoteDataTimeout( TimeUnit単位)
        Realm が初めて開かれたときに初期データをダウンロードするときに定義されたタイムアウトを返します。

        この値は、 shouldWaitForInitialRemoteData()trueを返す場合にのみ適用されます。

        次の値を返します。
        Realm がすべての変更をダウンロードするまで待機する時間は、Realm が中止され、例外がスローされます。
        以下も参照してください。
        SyncConfiguration.Builder.waitForInitialRemoteData(long, TimeUnit)
      • getSessionStopPolicy

        public io.realm.internal.OsRealmConfig.SyncSessionStopPolicy getSessionStopPolicy()
        注: 内部でのみ使用します。 警告なしで変更される可能性があります。 Realm が閉じられると、この Realm のセッションの停止ポリシーを返します。
        次の値を返します。
        Realm が閉じられるとセッションによって使用される停止ポリシー。
      • getUrlPrefix

        @Nullable public string getUrlPrefix()
        Realm Object Server への同期接続を確立するときに使用される URL プレフィックスを返します。
      • getPartitionValue

        public BsonValue getPartitionValue()
        この Realm がパーティション分割されている値を返します。 パーティションキーは、MongoDB Realm で定義されているプロパティです。 この値を持つプロパティを持つすべてのクラスは、Realm に同期されます。
        次の値を返します。
        MongoDB Realm が使用する 値は、サーバー側の MongoDB Database を個別に同期できる Realm に分割するために使用されます。
        次の例外がスローされます。
        IllegalStateException - この構成が、Flexible Sync 用に構成された Realm の場合。 このメソッドを呼び出す前に、 isPartitionBasedSyncConfiguration()を使用して確認できます。
      • isFlexibleSyncConfiguration

        公開ブール値 isFlexibleSyncConfiguration()
        この構成が Flexible Sync 用に構成された Realm を開くためのものであるかどうかを返します。
        次の値を返します。
        true この構成が Flexible Sync Realm の場合は 、そうでない場合はfalse
      • isPartitionBasedSyncConfiguration

        公開ブール値 isPartitionBasedSyncConfiguration()
        この構成が、パーティションベースの同期用に構成された Realm を開始するためのものであるかどうかを返します。
        次の値を返します。
        true この構成がパーティションベースの同期 Realm 用である場合は 、そうでない場合はfalse