Docs Menu

クラス SyncConfiguration.Builder

io.realm.mongodb.sync.SyncConfiguration.Builder

クラスを囲みます。

SyncConfiguration

SyncConfiguration のインスタンスをスムーズに構築するために使用されるビルダ。

コンストラクターと説明
User user
)

指定されたユーザーと Flexible Sync SyncConfigurationのビルダのインスタンスを作成します。

User user,
String partitionValue
)

指定されたユーザーとパーティション値を使用して、パーティションベースの同期同期構成のビルダのインスタンスを作成します。

User user,
ObjectId partitionValue
)

指定されたユーザーとパーティション値を使用して、パーティションベースの同期同期構成のビルダのインスタンスを作成します。

修飾子と型
メソッドと説明
Object module
)

すでに定義されているモジュールにモジュールを追加します。

boolean allowQueriesOnUiThread
)

UI スレッドからRealmQueriesを許可するかどうかを設定します。

boolean allowWritesOnUiThread
)

UI スレッドからRealm.executeTransactionへの呼び出しを許可するかどうかを設定します。

String assetFile
)

Realm を初めて開くと、空のファイルが作成される代わりに、提供されたアセット ファイルから Realm ファイルがコピーされ、使用されます。

ビルダ パラメータに基づいて RealmConfiguration を作成します。

クライアント リセットが発生したときの ハンドラーを設定します。

Realm ファイルをユーザーに返す前に圧縮する必要があるかどうかを決定するためにこれを設定します。

これを設定すると、Realm ファイルが大きくなりすぎて有効な量のスペースが復元される場合、Realm は Realm ファイルを圧縮します。

byte[] key
)

Realm ファイルの暗号化と復号化に使用される io.realm.Realm#enCRYPTION_KEY_LENGTH バイトキーを設定します。

この構成で使用されるエラー ハンドラーを設定します。

Realm オブジェクトからコルーチン フローを作成するために使用されるFlowFactoryを設定します。

これを設定すると、ディスクに保存されるのではなく、メモリ内 Realm が作成されます。

io.realm.Realmに初期データを設定します。

io.realm.Realm の初期 サブスクリプション を設定します。

IllialStateException が発生する前に、Realm ファイル内のライブ バージョンの最大数を設定します は、さらにデータを書込み (write) しようとするとスローされます。

既存のモジュールを 1 つ以上のRealmModleに置き換えます。

Object baseModule,
java.lang.Object[] additionalModules
)

既存のモジュールを 1 つ以上のRealmModleに置き換えます。

String filename
)

このデバイス上の Realm ファイルのファイル名を設定します。

これを設定すると、Realm は読み取り専用になり、この Realm に対して行われたすべての書込みトランザクション (write transaction) は IllealStateException で失敗します 。

Realm オブジェクトから Rx Observable を作成するために使用されるRxObservableFactoryを設定します。

long schemaVersion
)

Realm のスキーマ バージョンを設定します。

クライアント リセットが発生したときの ハンドラーを設定します。

クライアント リセットが発生したときの ハンドラーを設定します。

String urlPrefix
)

MongoDB Realm への同期接続を開始する WebSocket リクエストのパスの先頭に追加されるプレフィックス。

これを設定すると、Realm が初めて開かれたときに、Realm はサーバーからすべての既知の変更をダウンロードします。

これを設定すると、Realm が初めて開かれたときに、Realm はサーバーからすべての既知の変更をダウンロードします。

  • クラス java.lang.Object から継承されたメソッド :getClasshashCodeequalsclonetoStringnotifynotifyAllwaitwaitwaitfinalize

public Builder (
User user
)

指定されたユーザーと Flexible Sync SyncConfigurationのビルダのインスタンスを作成します。

パラメーター

  • user - Realm アプリへのアクセスに使用されるユーザー。

以下も参照してください。

  • Flexible Sync の詳細については、{@link SubscriptionSet} を参照してください。

public Builder (
User user,
String partitionValue
)

指定されたユーザーとパーティション値を使用して、パーティションベースの同期同期構成のビルダのインスタンスを作成します。

パラメーター

  • user - Realm アプリへのアクセスに使用されるユーザー。

  • partitionValue - 同期されるリモート Realm を識別するパーティション値。

public Builder (
User user,
ObjectId partitionValue
)

指定されたユーザーとパーティション値を使用して、パーティションベースの同期同期構成のビルダのインスタンスを作成します。

パラメーター

  • user - Realm アプリへのアクセスに使用されるユーザー。

  • partitionValue - 同期されるリモート Realm を識別するパーティション値。

すでに定義されているモジュールにモジュールを追加します。

boolean allowQueriesOnUiThread
)

UI スレッドからRealmQueriesを許可するかどうかを設定します。

デフォルトでは、Realm はメイン スレッドでのクエリを許可します。 ただし、そうすると、アプリケーションのフレームワークが低下したり、ARN が発生したりする可能性があります。 クエリを非 UI スレッドに転送する、または RealmQuery.findAllAsync ()またはRealmQuery.findFirstAsync( ) を使用することをお勧めします。

boolean allowWritesOnUiThread
)

UI スレッドからRealm.executeTransactionへの呼び出しを許可するかどうかを設定します。

警告: Realm では、ユーザーがこのメソッドで明示的にオプトインしない限り、メイン スレッドで同期トランザクションを実行することはできません。 executeTransactionへの呼び出しを非 UI スレッドに切り替えるか、 Realm.executeTransactionAsyncを使用することをおすすめします。

Realm を初めて開くと、空のファイルが作成される代わりに、提供されたアセット ファイルから Realm ファイルがコピーされ、使用されます。これは Realm にデータを事前に入力するために使用できるため、次はありません:サーバーからダウンロードするファイル

提供された Realm ファイルは、指定されたユーザーの有効な同期された Realm ファイルであり、 Realm.writeCopyTo(File) メソッドを使用して作成されている必要があります API。

警告: これは長時間の操作になる可能性があるため、理想的にはバックグラウンド スレッドで実行する必要があります。

パラメーター

  • assetFile - アセット データベース ファイルへのパス。

スロー

ビルダ パラメータに基づいて RealmConfiguration を作成します。

戻り値

SyncConfigurationを作成しました。

スロー

クライアント リセットが発生したときの ハンドラーを設定します。 ハンドラーが設定されていない場合、クライアント リセットが発生すると と エラーがログに記録されます。

パラメーター

  • handler - クライアント リセットの場合のカスタム ハンドラー。

Realm ファイルをユーザーに返す前に圧縮する必要があるかどうかを決定するためにこれを設定します。 合計ファイルサイズ(データ + 空き領域)とファイル内のデータによって使用されるバイト数が渡されます。

パラメーター

  • compactOnLaunch - プロセスの存在中に初めて Realm を開き、ユーザーに返される前に圧縮する必要があるかどうかを判断するために呼び出されるコールバック。 合計ファイルサイズ(データ + 空き領域)とファイル内のデータによって使用されるバイト数が渡されます。

これを設定すると、Realm ファイルが大きくなりすぎて有効な量のスペースが復元される場合、Realm は Realm ファイルを圧縮します。 詳細については、「 DefaultCompactOnLaunchコールバック」を参照してください。

Realm ファイルの暗号化と復号化に使用される io.realm.Realm#enCRYPTION_KEY_LENGTH バイトキーを設定します。

パラメーター

  • key - 暗号化のキー。

スロー

この構成で使用されるエラー ハンドラーを設定します。定義されたSyncPolicyによって処理されないエラーのみがこのエラー ハンドラーに報告されます。

パラメーター

  • errorHandler - Realm Object Server との通信時にエラーを報告するために使用されるエラー ハンドラー。

スロー

Realm オブジェクトからコルーチン フローを作成するために使用されるFlowFactoryを設定します。 デフォルトのファクトリーはRealmFlowFactoryです。

パラメーター

  • factory - 使用するファクトリー。

これを設定すると、ディスクに保存されるのではなく、メモリ内 Realm が作成されます。 メモリが不足している場合は、インメモリ Realm でもディスク領域が使用される可能性がありますが、Realm が閉じられると、インメモリ Realm によって作成されたすべてのファイルが削除されます。インメモリ Realm は永続化されないため、次が付けられている必要があることに注意してください:データが存在する限り、特定の名前を持つメモリ内の Realm オブジェクトへの閉じられていない参照を少なくとも 1 つ保持します。

io.realm.Realmに初期データを設定します。 このトランザクションは、 RealmConfiguration.Builder.deleteRealmIfMigrationNeted()が設定されている場合、Realm ファイルが初めて開かれた場合(作成された場合)、またはデータの移行中にのみ実行されます。

パラメーター

  • transaction - 実行するトランザクション。

Sets the initial サブスクリプション s for the io.realm.Realm . This will only be executed the first time the Realm file is opened (and the file created). If waitForInitialRemoteData() is configured as well, the realm file isn't fully opened until all subscription data also has been uploaded.

パラメーター

IllialStateException が発生する前に、Realm ファイル内のライブ バージョンの最大数を設定します は、さらにデータを書込み (write) しようとするとスローされます。

Realm は、多くの異なるバージョンの Realm オブジェクトを同時に処理することができます。 これは、多数の異なるスレッドで Realm を開いているか、データがファイルに書き込まれているときにオブジェクトをフリーズしている場合に発生する可能性があります。

通常の状況では、これは問題ではありませんが、アクティブなバージョンの数が大きくなりすぎると、ディスク上のファイルサイズに悪影響が生じます。 したがって、このパラメーターを設定すると、Realm が非常に大きくなる可能性のある Realm の使用を防ぐために使用できます。

他のデバイスからの変更がこのデバイスに統合されると、バージョン番号も増加することに注意してください。そのため、アクティブなバージョンの数は、同じ Realm への書き込みを他のデバイスがどのように行っているかによっても異なります。

パラメーター

  • number - 例外がスローされるまでのアクティブなバージョンの最大数。

以下も参照してください。

既存のモジュールを 1 つ以上のRealmModleに置き換えます。 このメソッドを使用すると、この Realm の現在のスキーマが、提供されている モジュールによって定義されているスキーマに置き換えられます。

プロジェクト内のすべての Realm クラス(ただし、依存関係は含まない)を含むデフォルトの Realm モジュールへの参照は、 Realm.getDefaultModule()を使用して見つけることができます。 アプリプロジェクトとライブラリの依存関係のスキーマを組み合わせるには、次のコードを使用します。

builder.modules(Realm.getDefaultMode(), new MyLibraryModule());

パラメーター

  • modules - 最初の Realm モジュール(必須)のモジュールのリスト。

スロー

以下も参照してください。

Object baseModule,
java.lang.Object[] additionalModules
)

既存のモジュールを 1 つ以上のRealmModleに置き換えます。 このメソッドを使用すると、この Realm の現在のスキーマが、提供されている モジュールによって定義されているスキーマに置き換えられます。

プロジェクト内のすべての Realm クラス(ただし、依存関係は含まない)を含むデフォルトの Realm モジュールへの参照は、 Realm.getDefaultModule()を使用して見つけることができます。 アプリプロジェクトとライブラリの依存関係のスキーマを組み合わせるには、次のコードを使用します。

builder.modules(Realm.getDefaultMode(), new MyLibraryModule());

パラメーター

  • baseModule - 最初の Realm モジュール(必須)。

  • additionalModules - 追加の Realm モジュール

スロー

以下も参照してください。

このデバイス上の Realm ファイルのファイル名を設定します。

パラメーター

  • filename - Realm ファイルの名前。

これを設定すると、Realm は読み取り専用になり、この Realm に対して行われたすべての書込みトランザクション (write transaction) は IllealStateException で失敗します 。

これは特に initialData( Realm.Transaction) が読み取り専用Realmと組み合わせて動作せず、これを設定すると IllealStateException がスローされることを平均。

Realm を読み取りとしてマークすると、このプロセス内の Realm にのみ適用されます。 他のプロセスとデバイスは引き続き Realm に書込み可能です。

Realm オブジェクトから Rx Observable を作成するために使用されるRxObservableFactoryを設定します。 デフォルトのファクトリーはRealmObservableFactoryです。

パラメーター

  • factory - 使用するファクトリー。

long schemaVersion
)

Realm のスキーマ バージョンを設定します。Synced Realm は、手動移行を必要とせずに適用できる追加のスキーマ変更のみをサポートします。 スキーマ バージョンは、インデックスを削除または追加するための基礎のストレージ層へのインデックスとしてのみ使用されます。 提供されたスキーマ バージョンが Realm ファイル内のバージョンと異なる場合は、これらが再計算されます。 警告:ここに挿入された値がRealm.getVersion()によって返される値と同じである保証はありません。 同期された Realm の性質上、 の値は上回ることも低いこともあります。

  • この schemaVersion が使用された後に、より小さいschemaVersionを持つ別のクライアントが初めてサーバーに接続された場合は、この値は低くなります。

  • この Realm が作成された後に、より高いschemaVersionを持つ別のクライアントがサーバーに接続されていた場合は、この値が高くなります。

パラメーター

  • schemaVersion - スキーマ バージョン。

スロー

Sets the handler for when a Client Reset occurs. If no handler is set, and error is logged when a Client Reset occurs. This strategy is only available for synced realms using partition based sync. Realms using flexible sync currently only support syncClientResetStrategy(ManuallyRecoverUnsyncedChangesStrategy) .

パラメーター

  • handler - クライアントリセットの場合のカスタム シームレス損失ハンドラー。

クライアント リセットが発生したときの ハンドラーを設定します。 ハンドラーが設定されていない場合、クライアント リセットが発生すると と エラーがログに記録されます。

パラメーター

  • handler - クライアントリセットの場合のカスタム手動ハンドラー。

MongoDB Realm への同期接続を開始する WebSocket リクエストのパスの先頭に追加されるプレフィックス。 指定された値はサーバーの構成と一致する必要があります。そうでない場合、デバイスは接続を作成できません。 この値は任意であり、特定のファイアウォール ルールで必要な場合にのみ設定する必要があります。

パラメーター

  • urlPrefix - 同期接続 URL に追加するプレフィックス。

これを設定すると、Realm が初めて開かれたときに、Realm はサーバーからすべての既知の変更をダウンロードします。 すべてのデータがダウンロードされるまで、Realm は開きません。 つまり、デバイスがオフラインの場合、Realm は開きません。すべての変更をダウンロードすると、UI スレッドがブロックされる可能性のある長時間の操作になる可能性があるため、この設定が有効になっている Realm はバックグラウンド スレッドで、または Realm.getInstanceAsync(RealmConfiguration) を使用してのみ開かれる必要があります。 Realm.Callback) を選択します。

このチェックは、Realm が初めて作成されるときにのみ強制されます。 Realm に最新の変更が含まれていることを確認するには、 SyncSession. DownloadAllServerchanges()を使用します。

パラメーター

  • timeout - io.realm .例外をスローする前に、ダウンロードが完了するまで待機する時間

  • unit - タイムアウトを定義するために使用される時間の単位。

これを設定すると、Realm が初めて開かれたときに、Realm はサーバーからすべての既知の変更をダウンロードします。 すべてのデータがダウンロードされるまで、Realm は開きません。 つまり、デバイスがオフラインの場合、Realm は開きません。すべての変更をダウンロードすると、UI スレッドがブロックされる可能性のある長時間の操作になる可能性があるため、この設定が有効になっている Realm はバックグラウンド スレッドで、または Realm.getInstanceAsync(RealmConfiguration) を使用してのみ開かれる必要があります。 Realm.Callback) を選択します。

このチェックは、Realm が初めて作成されるときにのみ強制されます。 Realm に最新の変更が含まれていることを確認するには、 SyncSession. DownloadAllServerchanges()を使用します。