Classe RealmAny
Nesta página
io.realm
io.realm.RealmAny é utilizado para representar um valor de Realm polimórfico.
Em qualquer momento específico, uma instância dessa classe armazena um valor definido de um tipo definido. Se, por exemplo, for um valor duplo, você poderá chamar asDouble() para extrair esse valor. Você pode chamar getType() para descobrir que tipo de valor está armazenado atualmente. Chamar asDouble() em uma instância que não armazena um duplo criaria um java.lang.ClassCastException .
O RealmAny se comporta como um tipo de valor em todos os tipos suportados, exceto em Objeto de Realm. Isso significa que o Realm não persistirá nenhuma alteração no valor RealmAny, exceto quando o tipo for Objeto de Realm. Quando um RealmAny mantém um Objeto de Realm, ele mantém apenas a referência a ele, não uma cópia do objeto. Portanto, as modificações no Objeto de Realm são refletidas no valor RealmAny, inclusive se o objeto for excluído. Como as instâncias do RealmAny são imutáveis, uma nova instância é necessária para atualizar um atributo do RealmAny.
anObject.realmAnyAttribute = RealmAny.valueOf(5); anObject.realmAnyAttribute = RealmAny.valueOf(10.f);
É crucial entender que o ato de extrair um valor de um tipo específico requer conhecimento definido sobre o tipo armazenado. Chamar um método de getter para qualquer tipo específico, que não seja do mesmo tipo que o valor armazenado, geraria uma exceção. Nossa recomendações para lidar com o polimorfismo RealmAny é escrever um caso de opção em torno do tipo RealmAny e sua classe de valor interna.
RealmAny realmAny = aRealmObject.realmAnyAttribute; switch (realmAny.getType()) { case OBJECT: if (realmAny.getValueClass().equals(DogRealmModel.class)) { DogRealmModel value = realmAny.asRealmModel(DogRealmModel.class); } case INTEGER: performAction(realmAny.asInteger()); break; case BOOLEAN: performAction(realmAny.asBoolean()); break; case STRING: performAction(realmAny.asString()); break; case BINARY: performAction(realmAny.asBinary()); break; case DATE: performAction(realmAny.asDate()); break; case FLOAT: performAction(realmAny.asFloat()); break; case DOUBLE: performAction(realmAny.asDouble()); break; case DECIMAL128: performAction(realmAny.asDecimal128()); break; case OBJECT_ID: performAction(realmAny.asObjectId()); break; case UUID: performAction(realmAny.asUUID()); break; case NULL: performNullAction(); break; }
getValueClass() retorna a classe Java que representa o valor interno envolto pela instância RealmAny. Se a classe resultante for uma realização de io.realm.RealmModel, asRealmModel() poderá ser chamado para converter o valor RealmAny em uma referência de Objeto de Realm.
Os valores RealmAny também podem ser classificados. A ordem de classificação usada entre diferentes tipos de RealmAny, do mais baixo para o mais alto, é:
Boolean
Byte/Curto/Inteiro/Long/Float/Duplo/Decimal128
byte[]/String
Data
ObjectId
UUID
RealmObject
Isso tem implicações em como RealmQuery.sort(String) , RealmQuery.minRealmAny(String) e RealmQuery.maxRealmAny(String) trabalho. Especificamente, min()
e max()
não levarão apenas em conta os campos numéricos, mas usarão a ordem de classificação para determinar o valor "maior" ou "menor".
Resumo da classe aninhada
Modificador e tipo | Classe e descrição |
---|---|
public static final |
Resumo do método
Modificador e tipo | Método e descrição |
---|---|
bytepúblico | asBinary () Obtém este valor como um byte[] se for um, caso contrário, gera exceção. |
booleanopúblico | asBoolean () Obtém este valor como booleano se for um, caso contrário, lança exceção. |
asByte () Obtém este valor como um Byte se for um, caso contrário, gera exceção. | |
data pública | asDate () Obtém esse valor como uma data, se for um, caso contrário, gera exceção. |
Decimal público128 | asDecimal128 () Obtém esse valor como Decimal128 se for um; caso contrário, gera exceção. |
asDouble () Obtém esse valor como um duplo se for um, caso contrário, lança exceção. | |
flutuaçãopública | asFloat () Obtém este valor como Flutuante se for um, caso contrário, gera exceção. |
asInteger () Obtém este valor como um Inteiro se for um, caso contrário, gera exceção. | |
público Longo | asLong () Obtém esse valor como um Long se for um, caso contrário, lança exceção. |
ObjectId público | asObjectId () Obtém esse valor como ObjectId se for um, caso contrário, gera exceção. |
Tpúblico | Obtém esse valor como um RealmModel se for um, caso contrário, gera exceção. |
público curto | asShort () Obtém esse valor como Curto se for um, caso contrário, gera exceção. |
asString () Obtém esse valor como uma string se for um, caso contrário, lança exceção. | |
UUIDpúblico | asUUID () Obtém esse valor como UUID se for um, caso contrário, gera exceção. |
public final boolean | |
public final boolean | |
public RealmAny.Type | getType () Obtém o tipo interno deste objeto RealmAny. |
classe pública | Retorna a classe Java que representa o valor interno envolto por este valor de RealmAny. |
public final int | hashCode () O código hash de um |
booleanopúblico | isNull () Retorna verdadeiro se o valor interno for nulo; caso contrário, retorna falso. |
public static RealmAny | nullValue () Cria um novo RealmAny de um valor nulo. |
toString () | |
public static RealmAny | Cria um novo RealmAny com o valor especificado. |
public static RealmAny | Cria um novo RealmAny com o valor especificado. |
public static RealmAny | |
public static RealmAny | Cria um novo RealmAny com o valor especificado. |
public static RealmAny | |
public static RealmAny | |
public static RealmAny | |
public static RealmAny | |
public static RealmAny | |
public static RealmAny | |
public static RealmAny | |
public static RealmAny |
Métodos herdados
Métodos herdados da classe java.lang.Object :
getClass
,hashCode
,equals
,clone
,toString
,notify
,notifyAll
,wait
,wait
,wait
,finalize
Detalhes do método
asBinary
public byte asBinary () |
---|
Obtém este valor como um byte[] se for um, caso contrário, gera exceção. Devoluções um byte[]. Lança
|
asBoolean
Obtém este valor como booleano se for um, caso contrário, lança exceção. Devoluções um booleano. Lança
|
asByte
Obtém este valor como um Byte se for um, caso contrário, gera exceção. Devoluções um byte. Lança
|
asDate
Obtém esse valor como uma data, se for um, caso contrário, gera exceção. Devoluções uma data. Lança
|
asDecimal128
public Decimal128 asDecimal128 () |
---|
Obtém esse valor como Decimal128 se for um; caso contrário, gera exceção. Devoluções um Decimal128. Lança
|
asDouble
Obtém esse valor como um duplo se for um, caso contrário, lança exceção. Devoluções um duplo. Lança
|
asFloat
Obtém este valor como Flutuante se for um, caso contrário, gera exceção. Devoluções um flutuador. Lança
|
asInteger
Obtém este valor como um Inteiro se for um, caso contrário, gera exceção. Devoluções um número inteiro. Lança
|
asLong
Obtém esse valor como um Long se for um, caso contrário, lança exceção. Devoluções um longo. Lança
|
asObjectId
public ObjectId asObjectId () |
---|
Obtém esse valor como ObjectId se for um, caso contrário, gera exceção. Devoluções um ObjectId. Lança
|
asRealmModel
Obtém esse valor como um RealmModel se for um, caso contrário, gera exceção. Parâmetros de tipo
Devoluções um RealmModel do tipo T. Lança
|
ascurto
Obtém esse valor como Curto se for um, caso contrário, gera exceção. Devoluções um curto. Lança
|
asString
Obtém esse valor como uma string se for um, caso contrário, lança exceção. Devoluções Uma string. Lança
|
asUUID
Obtém esse valor como UUID se for um, caso contrário, gera exceção. Devoluções um UUID. Lança
|
coercedEquals
é igual a
Dois Parâmetros
Devoluções verdadeiro se o destino tiver o mesmo valor Substitui
|
getType
public RealmAny.Type getType () |
---|
Obtém o tipo interno deste objeto RealmAny. Devoluções o RealmAny.Type interno |
getValueClass
public Class getValueClass () |
---|
Retorna a classe Java que representa o valor interno envolto por este valor de RealmAny. Devoluções a classe que representa o valor interno envolto por este valor RealmAny. |
hashCode
public final int hashCode () |
---|
O código hash de um Devoluções verdadeiro se o destino tiver o mesmo valor Lança
Substitui
|
IsNull
public boolean isNull () |
---|
Retorna verdadeiro se o valor interno for nulo; caso contrário, retorna falso. Devoluções true se o valor interno for nulo, false caso contrário. |
nullValue
toString
Substitui
|
valor de
Cria um novo RealmAny com o valor especificado. Se o valor não for nulo, o tipo será RealmAny.Type.DECIMAL128 ; caso contrário, RealmAny.Type.NULL . Parâmetros
Devoluções um novo RealmAny de um Decimal128. |
Cria um novo RealmAny com o valor especificado. Se o valor não for nulo, o tipo será RealmAny.Type.OBJECT_ID ; caso contrário, RealmAny.Type.NULL . Parâmetros
Devoluções um novo RealmAny de um ObjectId. |
Cria um novo RealmAny com o valor especificado. Se o valor não for nulo, o tipo será RealmAny.Type.DATE ; caso contrário, RealmAny.Type.NULL . Parâmetros
Devoluções um novo RealmAny de uma data. |
Cria um novo RealmAny com o valor especificado. Se o valor não for nulo, o tipo será RealmAny.Type.BINARY ; caso contrário, RealmAny.Type.NULL . Parâmetros
Devoluções um novo RealmAny de um byte[]. |
Cria um novo RealmAny com o valor especificado. Se o valor não for nulo, o tipo será RealmAny.Type.STRING ; caso contrário, RealmAny.Type.NULL . Parâmetros
Devoluções um novo RealmQualquer uma de uma String. |
Cria um novo RealmAny com o valor especificado. Se o valor não for nulo, o tipo será RealmAny.Type.DOUBLE ; caso contrário, RealmAny.Type.NULL . Parâmetros
Devoluções um novo RealmAny de um duplo. |
Cria um novo RealmAny com o valor especificado. Se o valor não for nulo, o tipo será RealmAny.Type.FLOAT ; caso contrário, RealmAny.Type.NULL . Parâmetros
Devoluções um novo RealmAny de um Flutuador. |
Cria um novo RealmAny com o valor especificado. Se o valor não for nulo, o tipo será RealmAny.Type.BOOLEAN ; caso contrário, RealmAny.Type.NULL . Parâmetros
Devoluções um novo RealmAny de um booleano. |
Cria um novo RealmAny com o valor especificado. Se o valor não for nulo, o tipo será RealmAny.Type.Integer ; caso contrário, RealmAny.Type.NULL . Parâmetros
Devoluções um novo RealmAny de um Long. |
Cria um novo RealmAny com o valor especificado. Se o valor não for nulo, o tipo será RealmAny.Type.Integer ; caso contrário, RealmAny.Type.NULL . Parâmetros
Devoluções um novo RealmAny de um Integer. |
Cria um novo RealmAny com o valor especificado. Se o valor não for nulo, o tipo será RealmAny.Type.Integer ; caso contrário, RealmAny.Type.NULL . Parâmetros
Devoluções um novo RealmAny de um Curto. |
Cria um novo RealmAny com o valor especificado. Se o valor não for nulo, o tipo será RealmAny.Type.Integer ; caso contrário, RealmAny.Type.NULL . Parâmetros
Devoluções um novo RealmAny contendo um valor de Byte. |