패키지 io.realm

MutableRealmInteger 클래스

  • 구현된 모든 인터페이스:
    io.realm.internal.ManageableObject, Comparable<MutableRealmInteger>

    public abstract class MutableRealmInteger
    extends Object
    implements Comparable<MutableRealmInteger>, io.realm.internal.ManageableObject
    MutableRealmIntegerLong와 같은 변경 가능한 숫자 수량입니다. 이는 Long 에 대한 참고와 거의 똑같이 동작합니다. 보다 구체적으로 다음과 같습니다.

    MutableRealmIntegers는 managed RealmModel 객체로서 가장 흥미로운 작업입니다. managed, the increment(long)decrement(long) 연산자는 충돌 없는 복제 데이터 유형 을 구현합니다: 여러 분산된 클라이언트의 동시 증가 및 감소는 올바르게 집계됩니다. 인스턴스, 사용자 "Fred"를 나타내는 객체의 counter 필드 값이 현재 0인 경우, 느리고 신뢰할 수 없는 네트워크로만 연결되어 있더라도 다음 코드를 두 대의 서로 다른 장치에서 동시에 실행하면 항상 다음이 발생합니다. 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) 를 혼합하는 것은 권장되지 않습니다.

    MutableRealmIntegers는 기본 키가 아닐 수 있습니다. 해당 구현은 스레드로부터 안전하지 않습니다. 모든 managed Realm 객체와 마찬가지로 managed MutableRealmInteger은 스레드 간에 이동할 수 없습니다. 관리되지 않는 MutableRealmInteger은 스레드 간에 이동할 수 있지만 안전한 게시가 필요합니다.

    모델 클래스에서 MutableRealmInteger 는 항상 final 로 선언해야 합니다. 인스턴스: 다음과 같습니다.

     public final MutableRealmInteger counter = MutableRealmInteger.ofNull(); 
     
    MutableRealmInteger 을(를) null 으)로 초기화하는 작업이 매우 제한적인 상황에서도 작동할 수 있지만 개발자에게는 하지 않는 것이 좋습니다.
     
      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 이(가) 일관된 상태인지 확인합니다. 특히, managed MutableRealmInteger 에 대한 참고는 자신이 속한 객체에 대한 참고를 유지합니다. 예를 들어 이 코드에서는

     MutableRealmInteger counter = realm.where(Users.class).findFirst().counter; 
     
    counter 은(는) 이를 가져온 User 모델 객체에 대한 참고를 보유합니다. 둘 다에 대한 모든 참고에 연결할 수 없을 때까지는 어느 쪽도 GC 처리할 수 없습니다.
    • 메서드 요약

      모든 메서드 정적 메서드 인스턴스 메서드 추상 메서드 구체적인 방법 
      수정자 및 유형 메서드 설명
      int compareTo​(MutableRealmInteger o)
      MutableRealmIntegers는 해당 값을 기준으로 엄격하게 비교됩니다.
      abstract void decrement​(long dec)
      MutableRealmInteger 를 줄이고 인수의 값을 뺍니다.
      boolean equals​(Object o)
      두 개의 MutableRealmIntegerlongValues 가 동일한 경우에만 .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 - 초기값.
      • get

        @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()
        반환합니다:
        get()null 를 반환하는 경우에만 true 입니다.
      • 비교 대상

        public final int compareTo​(MutableRealmInteger o)
        MutableRealmIntegers는 해당 값을 기준으로 엄격하게 비교됩니다. Null은 MutableRealmIntegernull < null 가 아닌 모든 값에 대한 유효한 값입니다.
        다음에 의해 지정됩니다:
        compareTo 인터페이스에서 Comparable<MutableRealmInteger>
        매개변수:
        o - 비교 대상
        반환합니다:
        -1, 0 또는 1(이 객체의 값이 대상의 값 <, = 또는 >)인지에 따라 달라집니다.
      • 해시 코드

        public final int hashCode()
        MutableRealmInteger 의 해시 코드는 정확히 해당 값의 해시 코드입니다.
        재정의:
        hashCode 수업 중 Object
        반환합니다:
        대상이 동일한 값을 가지면 true 입니다.
      • 같음

        public final boolean equals​(Object o)
        두 개의 MutableRealmIntegerlongValues 가 동일한 경우에만 .equals 입니다.
        재정의:
        equals 수업 중 Object
        매개변수:
        o - 비교 대상
        반환합니다:
        대상이 동일한 값을 가지면 true 입니다.