パッケージ io.realm

クラス MutableRealmInteger

  • すべての実装インターフェース:
    io.realm.internal.ManageableObject, Comparable<MutableRealmInteger>

    public abstract class MutableRealmInteger
    extends Object
    implements Comparable<MutableRealmInteger>, io.realm.internal.ManageableObject
    MutableRealmIntegerは、可変で、 Longのような数値量です。 この値はほぼ正確にLongへの参照として動作します。 具体的には、次のとおりです。

    MutableRealmIntegerは、管理対象のRealmModelオブジェクトのメンバーとして最も重要です。 管理する場合、 increment(long)演算子とdecrement(long)演算子は競合のない複製データ型を実装します。複数の分散クライアントからの同時増加と減少が正しく集計されます。 たとえば、ユーザー「Fred」を表すオブジェクトのcounterフィールドの値が現在 0 の場合、次のコードは 2 つの異なるデバイスで同時に実行されると、遅くて信頼できないネットワークのみに接続している場合でも、常にcounterの値を変換し、最終的には値 2 に変換されます。

      MutableRealmInteger counter = realm.where(Users.class)
         .equalTo("name", Fred)
         .findFirst()
         .counter.increment(1);
     
    set(Long)演算子は細心の注意で使用する必要があることに注意してください。 これにより、 increment(long)またはdecrement(long)に対する以前の呼び出しの効果が消去されます。 MutableRealmIntegerの値は常にデバイス間で変換されますが、変換される具体的な値は、操作が行われた実際の順序によって異なります。 したがって、ファジーカウントが受け入れられない限り、 set(Long)increment(long)およびdecrement(long)と混在させることは推奨されません。

    MutableRealmIntegerはプライマリキーでなくてはなりません。 実装はスレッドセーフではありません。 すべての管理対象 Realm オブジェクトと同様に、管理対象のMutableRealmIntegerはスレッド間で移動できません。 管理されていないMutableRealmIntegerはスレッド間で移動できますが、安全な公開が必要です。

    モデル クラス内のMutableRealmIntegerは、常にfinalと宣言する必要があります。 例:

     public final MutableRealmInteger counter = MutableRealmInteger.ofNull(); 
     
    MutableRealmIntegernull として初期化すると、非常に限定的な状況で機能する可能性がありますが、開発者はこれを行わ ない ことをお勧めします。
     
      public final MutableRealmInteger counter = null; // DO NOT DO THIS! 
     
    また、 MutableRealmInteger@Requiredの場合は、null 以外の値で初期化する方がよいが、必須ではないことにも注意してください。
     
     @Required
      public final MutableRealmInteger counter = MutableRealmInteger.valueOf(0L);
     

    管理対象のMutableRealmIntegerへの参照は、取得元のモデル オブジェクトに適用されるすべての制約の対象となります。トランザクション内でのみミューテーションが可能で、それをサポートする Realm が閉じられている場合は無効になります。 isManaged()isValid()演算子と 演算子を使用して、MutableRealmInteger が一貫した状態であるかどうかを判断します。特に、管理対象のMutableRealmIntegerへの参照は、それが属するモデル オブジェクトへの参照を保持していることに注意してください。 たとえば、このコードでは次のようになります。

     MutableRealmInteger counter = realm.where(Users.class).findFirst().counter; 
     
    counterは、取得元となったUserモデル オブジェクトへの参照を保持します。 両方へのすべての参照が到達できなくなるまで、どちらも Ged することはできません。
    • メソッドの概要

      すべてのメソッド 静的メソッド インスタンス メソッド 抽象メソッド 具象メソッド 
      修飾子と型 方式 説明
      int compareTo​(MutableRealmInteger o)
      MutableRealmIntegerは、 の値によって厳密に比較されます。
      abstract void decrement​(long dec)
      MutableRealmIntegerから を減算し、 引数の値を減算します。
      boolean equals​(Object o)
      2 つのMutableRealmIntegerは、 longValuesが等しい場合にのみ.equalsになります。
      abstract Long get()
      MutableRealmInteger値を取得します。
      int hashCode()
      MutableRealmIntegerのハッシュ コードは、正確にその値のハッシュ コードです。
      abstract void increment​(long inc)
      MutableRealmIntegerを増加させ、 引数の値を追加します。
      boolean isNull()  
      static MutableRealmInteger ofNull()
      値がnullである、新しい管理されていないMutableRealmIntegerを作成します。
      void set​(long newValue)
      MutableRealmInteger値を設定します。
      abstract void set​(Long newValue)
      MutableRealmInteger値を設定します。
      static MutableRealmInteger valueOf​(long value)
      指定された初期値を持つ新しい管理されていないMutableRealmIntegerを作成します。
      static MutableRealmInteger valueOf​(Long value)
      指定された初期値を持つ新しい管理されていないMutableRealmIntegerを作成します。
      static MutableRealmInteger valueOf​(String value)
      指定された初期値を持つ新しい管理されていないMutableRealmIntegerを作成します。
      • インターフェース io.realm. internal.ManageableObject から継承されるメソッド

        isFrozen, isManaged, isValid
    • メソッドの詳細

      • valueOf

        public static MutableRealmInteger valueOf​(Long value)
        指定された初期値を持つ新しい管理されていないMutableRealmIntegerを作成します。
        パラメーター:
        value - 初期値。
      • ofNull

        public static MutableRealmInteger ofNull()
        値がnullである、新しい管理されていないMutableRealmIntegerを作成します。
      • valueOf

        public static MutableRealmInteger valueOf​(long value)
        指定された初期値を持つ新しい管理されていないMutableRealmIntegerを作成します。
        パラメーター:
        value - 初期値。
      • 得る

        @Nullable
        public abstract Long get()
        MutableRealmInteger値を取得します。 値は null にすることができます。
        次の値を返します。
        値。
      • セット

        public abstract void set​(@Nullable
                                 Long newValue)
        MutableRealmInteger値を設定します。 setを呼び出すと、 MutableRealmIntegerが指定された値に強制的に設定されます。 こうすると、 setの呼び出しの前に認識されたincrement(long)decrement(long)への呼び出しの効果が無効になります。
        パラメーター:
        newValue - 新しい値。
      • セット

        public final void set​(long newValue)
        MutableRealmInteger値を設定します。 set(java.lang.Long)を呼び出すと、 MutableRealmIntegerが指定された値に強制的に設定されます。 increment(long)decrement(long)こうすると、set(java.lang.Long) の呼び出しの前に認識された と への呼び出しの効果が無効になります。
        パラメーター:
        newValue - 新しい値。
      • 増分

        public abstract void increment​(long inc)
        MutableRealmIntegerを増加させ、 引数の値を追加します。 すべてのデバイスからの増加または減少は新しい 値に反映され、変換されることが保証されます。
        パラメーター:
        inc - MutableRealmIntegerに追加する量。
      • 減算

        public abstract void decrement​(long dec)
        MutableRealmIntegerから を減算し、 引数の値を減算します。 すべてのデバイスからの増加または減少は新しい 値に反映され、変換されることが保証されます。
        パラメーター:
        dec - MutableRealmIntegerから差し引かれる量。
      • isNull

        public final boolean isNull()
        次の値を返します。
        true の場合で、かつget()nullを返す場合にのみ true 。
      • compactTo

        public final int compareTo​(MutableRealmInteger o)
        MutableRealmIntegerは、 の値によって厳密に比較されます。 null はMutableRealmIntegerおよびnull < null以外の値の正規値です
        次のによって指定されます。
        compareTo 内 インターフェース Comparable<MutableRealmInteger>
        パラメーター:
        o - 比較ターゲット
        次の値を返します。
        -1、0、または 1 のいずれかになります。
      • ハッシュコード

        public final int hashCode()
        MutableRealmIntegerのハッシュ コードは、正確にその値のハッシュ コードです。
        上書き:
        hashCode クラス内 Object
        次の値を返します。
        ターゲットが同じ値を持つ場合は true。
      • equals

        public final boolean equals​(Object o)
        2 つのMutableRealmIntegerは、 longValuesが等しい場合にのみ.equalsになります。
        上書き:
        equals クラス内 Object
        パラメーター:
        o - 比較ターゲット
        次の値を返します。
        ターゲットが同じ値を持つ場合は true。