Classe MutableRealmInteger
- java.lang.Object
-
- io.realm.MutableRealmInteger
-
- Todas as interfaces implementadas:
io.realm.internal.ManageableObject
,Comparable<MutableRealmInteger>
public abstract class MutableRealmInteger extends Object implements Comparable<MutableRealmInteger>, io.realm.internal.ManageableObject
UmMutableRealmInteger
é uma quantidade numérica mutável do tipoLong
. Ele se comporta quase exatamente como uma referência aLong
. Mais especificamente:- Um
MutableRealmInteger
pode ter o valornull
. - O operador
equals(java.lang.Object)
compara os valoresLong
contidos.null
com valorMutableRealmInteger
é.equals
- O operador
compareTo(io.realm.MutableRealmInteger)
compara os valoresLong
contidos. Consideranull
< qualquer valor nãonull
. - Os operadores
increment(long)
edecrement(long)
lançamIllegalStateException
quando aplicados a umnull
com valorMutableRealmInteger
.
MutableRealmInteger
s são mais interessantes como membros de um objetoRealmModel
managed. Quando managed, os operadoresincrement(long)
edecrement(long)
implementam um tipo de dados replicado sem conflitos: incrementos e decréscimos simultâneos de vários clientes distribuídos serão agregados corretamente. Por exemplo, se o valor do campocounter
para o objeto que representa o usuário "Fred" for atualmente 0, o código a seguir, executado em dois dispositivos diferentes, simultaneamente, mesmo que conectado apenas por uma rede lenta e não confiável, sempre causará o valor decounter
para convergir, eventualmente, sobre o valor 2.MutableRealmInteger counter = realm.where(Users.class) .equalTo("name", Fred) .findFirst() .counter.increment(1);
set(Long)
deve ser usado com muito cuidado. Ele anulará os efeitos de quaisquer chamadas anteriores paraincrement(long)
oudecrement(long)
. Embora o valor de umMutableRealmInteger
sempre converja entre dispositivos, o valor específico para o qual ele converge dependerá da ordem real em que as operações ocorreram. Portanto, misturarset(Long)
comincrement(long)
edecrement(long)
não é recomendado, a menos que a contagem difusa seja aceitável.MutableRealmInteger
s podem não ser chaves primárias. Suas implementações não são seguras para threads. Como todos os objetos de Realm gerenciados, osMutableRealmInteger
s gerenciados não podem ser movidos entre threads.MutableRealmInteger
s não gerenciados podem ser movidos entre threads, mas exigem publicação segura.Um
MutableRealmInteger
, em uma classe de modelo, deve sempre ser declaradofinal
. Por exemplo:public final MutableRealmInteger counter = MutableRealmInteger.ofNull();
MutableRealmInteger
comonull
possa funcionar em circunstâncias muito limitadas, os desenvolvedores são aconselhados a não fazer isso:public final MutableRealmInteger counter = null; // DO NOT DO THIS!
MutableRealmInteger
é@Required
, é melhor, embora não seja necessário, inicializá-lo com um valor não nulo.@Required public final MutableRealmInteger counter = MutableRealmInteger.valueOf(0L);
Uma referência a um
MutableRealmInteger
managed está sujeita a todas as restrições que se aplicam ao objeto do modelo do qual foi obtida: ele só pode ser mutado dentro de uma transação e se torna inválido se o Realm que o apoia estiver fechado. Use os operadoresisManaged()
eisValid()
para determinar se umMutableRealmInteger
está em um estado consistente. Observe, em particular, que uma referência a umMutableRealmInteger
managed retém uma referência ao objeto de modelo ao qual pertence. Por exemplo neste código:MutableRealmInteger counter = realm.where(Users.class).findFirst().counter;
counter
contém uma referência ao objeto de modeloUser
do qual foi obtido. Nenhum dos dois pode ser agrupado até que todas as referências a ambos sejam inacessíveis.
-
-
Resumo do método
Todos os métodos Métodos estáticos Métodos de instância Métodos abstratos Métodos concretos Modificador e tipo Método Descrição int
compareTo(MutableRealmInteger o)
MutableRealmInteger
s se comparam estritamente por seus valores.abstract void
decrement(long dec)
Diminui oMutableRealmInteger
, subtraindo o valor do argumento.boolean
equals(Object o)
DoisMutableRealmInteger
s são.equals
se e somente se seuslongValues
forem iguais.abstract Long
get()
Obtém o valorMutableRealmInteger
.int
hashCode()
O código hash de umMutableRealmInteger
é, exatamente, o código hash do seu valor.abstract void
increment(long inc)
Aumenta oMutableRealmInteger
, adicionando o valor do argumento.boolean
isNull()
static MutableRealmInteger
ofNull()
Cria um novoMutableRealmInteger
não gerenciado cujo valor énull
.void
set(long newValue)
Define o valorMutableRealmInteger
.abstract void
set(Long newValue)
Define o valorMutableRealmInteger
.static MutableRealmInteger
valueOf(long value)
Cria um novoMutableRealmInteger
não gerenciado com o valor inicial especificado.static MutableRealmInteger
valueOf(Long value)
Cria um novoMutableRealmInteger
não gerenciado com o valor inicial especificado.static MutableRealmInteger
valueOf(String value)
Cria um novoMutableRealmInteger
não gerenciado com o valor inicial especificado.
-
-
-
Detalhes do método
-
valor de
public static MutableRealmInteger valueOf(Long value)
Cria um novoMutableRealmInteger
não gerenciado com o valor inicial especificado.- Parâmetros:
value
- valor inicial.
-
ofNull
public static MutableRealmInteger ofNull()
Cria um novoMutableRealmInteger
não gerenciado cujo valor énull
.
-
valor de
public static MutableRealmInteger valueOf(long value)
Cria um novoMutableRealmInteger
não gerenciado com o valor inicial especificado.- Parâmetros:
value
- valor inicial.
-
valor de
public static MutableRealmInteger valueOf(String value)
Cria um novoMutableRealmInteger
não gerenciado com o valor inicial especificado.- Parâmetros:
value
- valor inicial: analisado porLong.parseLong(java.lang.String, int)
.
-
obter
@Nullable public abstract Long get()
Obtém o valorMutableRealmInteger
. O valor pode ser nulo.- Retorna:
- o valor.
-
set
public abstract void set(@Nullable Long newValue)
Define o valorMutableRealmInteger
. Callingset
forcibly sets theMutableRealmInteger
to the provided value. Isso elimina os efeitos de quaisquer chamadas paraincrement(long)
edecrement(long)
recebidas antes da chamada paraset
.- Parâmetros:
newValue
- novo valor.
-
set
public final void set(long newValue)
Define o valorMutableRealmInteger
. Chamarset(java.lang.Long)
define forçosamente oMutableRealmInteger
para o valor fornecido. Doing this obliterates the effects of any calls toincrement(long)
anddecrement(long)
perceived before the call toset(java.lang.Long)
.- Parâmetros:
newValue
- novo valor.
-
Incremento
public abstract void increment(long inc)
Aumenta oMutableRealmInteger
, adicionando o valor do argumento. O incremento/decremento de todos os dispositivos é refletido no novo valor, que é garantido que convergirá.- Parâmetros:
inc
- quantidade a ser adicionada aoMutableRealmInteger
.
-
diminuir
public abstract void decrement(long dec)
Diminui oMutableRealmInteger
, subtraindo o valor do argumento. O incremento/decremento de todos os dispositivos é refletido no novo valor, que é garantido que convergirá.- Parâmetros:
dec
- quantidade a ser subtraída doMutableRealmInteger
.
-
IsNull
public final boolean isNull()
- Retorna:
- verdadeiro se e somente se
get()
retornaránull
.
-
compareTo
public final int compareTo(MutableRealmInteger o)
MutableRealmInteger
s se comparam estritamente por seus valores. Nulo é um valor legal para umMutableRealmInteger
enull
< qualquer valor nãonull
- Especificado por:
compareTo
na interfaceComparable<MutableRealmInteger>
- Parâmetros:
o
- o alvo de comparação- Retorna:
- -1, 0 ou 1, dependendo se o valor deste objeto é <, =, ou > do destino.
-
hashCode
public final int hashCode()
O código hash de umMutableRealmInteger
é, exatamente, o código hash do seu valor.
-
-