Classe RealmSet<E>
- java.lang.Object
-
- io.realm.RealmSet<E>
-
- Parâmetros do tipo:
E
- o tipo dos valores armazenados neste conjunto
- Todas as interfaces implementadas:
io.realm.internal.Freezable<RealmCollection<E>>
,io.realm.internal.ManageableObject
,RealmCollection<E>
,Iterable<E>
,Collection<E>
,Set<E>
public class RealmSet<E> extends Object implements Set<E>, io.realm.internal.ManageableObject, RealmCollection<E>
O RealmSet é uma collection que não contém elementos duplicados.Da mesma forma que
RealmList
s, um RealmSet pode operar nos modos gerenciados e não gerenciados. No modo gerenciado, um RealmSet mantém todo o seu conteúdo dentro de um Realm, enquanto no modo não gerenciado ele funciona como umHashSet
.Os managed RealmSets só podem ser criados pelo Realm e atualizarão automaticamente seu conteúdo sempre que o Realm subjacente for atualizado. O managed RealmSet só pode ser acessado usando o getter que ponto para um campo RealmSet de um
RealmObject
.Os elementos não gerenciados neste conjunto podem ser adicionados a um Realm utilizando o método
Realm.copyToRealm(Iterable, ImportFlag...)
.Aviso: os métodos a seguir ainda não são suportados para classes que contêm campos de conjunto:
Realm.insert(RealmModel)
Realm.insert(Collection)
Realm.insertOrUpdate(RealmModel)
Realm.insertOrUpdate(Collection)
Realm.createAllFromJson(Class, String)
Realm.createAllFromJson(Class, JSONArray)
Realm.createAllFromJson(Class, InputStream)
Realm.createObjectFromJson(Class, String)
Realm.createObjectFromJson(Class, JSONObject)
}Realm.createObjectFromJson(Class, InputStream)
}Realm.createOrUpdateAllFromJson(Class, String)
Realm.createOrUpdateAllFromJson(Class, JSONArray)
Realm.createOrUpdateAllFromJson(Class, InputStream)
Realm.createOrUpdateObjectFromJson(Class, String)
Realm.createOrUpdateObjectFromJson(Class, JSONObject)
Realm.createOrUpdateObjectFromJson(Class, InputStream)
-
-
Resumo do construtor
Construtores Constructor Descrição RealmSet()
Instancia um RealmSet no modo não gerenciado.RealmSet(io.realm.BaseRealm baseRealm, io.realm.internal.OsSet osSet, Class<E> valueClass)
Instancia um RealmSet no modo gerenciado.RealmSet(io.realm.BaseRealm baseRealm, io.realm.internal.OsSet osSet, String className)
Instancia um RealmSet no modo gerenciado.RealmSet(Collection<E> collection)
Instancia um RealmSet no modo não gerenciado com outra collection.
-
Resumo do método
Todos os métodos Métodos de instância Métodos concretos Modificador e tipo Método Descrição boolean
add(E e)
boolean
addAll(Collection<? extends E> c)
void
addChangeListener(RealmChangeListener<RealmSet<E>> listener)
Adiciona um ouvinte de alteração a esteRealmSet
.void
addChangeListener(SetChangeListener<E> listener)
Adiciona um ouvinte de alteração a esteRealmSet
.double
average(String fieldName)
Retorna a média de um determinado campo.void
clear()
boolean
contains(Object o)
Testa se esteCollection
contém o objeto especificado.boolean
containsAll(Collection<?> c)
boolean
deleteAllFromRealm()
Isso exclui todos os objetos da collection do Realm subjacente e da collection.RealmSet<E>
freeze()
Class<E>
getValueClass()
String
getValueClassName()
boolean
isEmpty()
boolean
isFrozen()
boolean
isLoaded()
Verifica se uma collection já terminou de carregar seus dados.boolean
isManaged()
Verifica se a collection é gerenciada pelo Realm.boolean
isValid()
Verifica se a collection ainda é válida para uso, ou seja, a instânciaRealm
não foi fechada.Iterator<E>
iterator()
boolean
load()
Bloqueia a collection até que todos os dados estejam disponíveis.Number
max(String fieldName)
Localiza o valor máximo de um campo.Date
maxDate(String fieldName)
Encontra a data máxima.Number
min(String fieldName)
Localiza o valor mínimo de um campo.Date
minDate(String fieldName)
Encontra a data mínima.boolean
remove(Object o)
boolean
removeAll(Collection<?> c)
void
removeAllChangeListeners()
Remove todos os ouvintes de alterações definidos pelo usuário.void
removeChangeListener(RealmChangeListener<RealmSet<E>> listener)
Remove o ouvinte de alterações especificado.void
removeChangeListener(SetChangeListener<E> listener)
Remove o ouvinte de alterações especificado.boolean
retainAll(Collection<?> c)
int
size()
Number
sum(String fieldName)
Calcula a soma de um determinado campo.Object[]
toArray()
<T> T[]
toArray(T[] a)
RealmQuery<E>
where()
Retorna um RealmQuery, que pode ser usado para fazer query de objetos específicos desta classe.-
Métodos herdados da classe java.lang.objeto
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Métodos herdados da interface java.util.collection
parallelStream, removeIf, stream, toArray
-
Métodos herdados da interface java.util.definir
equals, hashCode, spliterator
-
-
-
-
Detalhes do construtor
-
RealmSet
Public RealmSet()
Instancia um RealmSet no modo não gerenciado.
-
RealmSet
public RealmSet(Collection<E> collection)
Instancia um RealmSet no modo não gerenciado com outra collection.- Parâmetros:
collection
- a collection com a qual o conjunto será preenchido inicialmente.
-
RealmSet
public RealmSet(io.realm.BaseRealm baseRealm, io.realm.internal.OsSet osSet, Class<E> valueClass)
Instancia um RealmSet no modo managed. Este construtor é usado internamente pelo Realm.- Parâmetros:
baseRealm
-osSet
-valueClass
-
-
RealmSet
public RealmSet(io.realm.BaseRealm baseRealm, io.realm.internal.OsSet osSet, String className)
Instancia um RealmSet no modo managed. Este construtor é usado internamente por um Realm dinâmico.- Parâmetros:
baseRealm
-osSet
-className
-
-
-
Detalhes do método
-
isManaged
public boolean isManaged()
Verifica se a collection é managed pelo Realm. Uma managed collection é apenas um invólucro que envolve os dados no Arquivo de Realm subjacente. Nos threads do loop de eventos, uma managed collection será atualizada ao vivo para que sempre ponto para os dados mais recentes. As managed collection são confinadas por threads para que não possam ser acessadas de outros threads além daquele que as criou.Se esse método retornar
false
, a collection não será gerenciada. Uma collection não gerenciada é apenas uma Java collection normal, portanto, não será atualizada em tempo real.- Especificado por:
isManaged
na interfaceio.realm.internal.ManageableObject
- Especificado por:
isManaged
na interfaceRealmCollection<E>
- Retorna:
true
se este for umRealmCollection
managed,false
caso contrário.
-
é válido
public boolean isValid()
Verifica se a collection ainda é válida para uso, ou seja, a instânciaRealm
não foi fechada. Ele sempre retornarátrue
para uma coleção não gerenciada.- Especificado por:
isValid
na interfaceio.realm.internal.ManageableObject
- Especificado por:
isValid
na interfaceRealmCollection<E>
- Retorna:
true
se ainda for válido para usar ou uma collection não gerenciada,false
caso contrário.
-
IsFrozen
public boolean isFrozen()
- Especificado por:
isFrozen
na interfaceio.realm.internal.ManageableObject
-
Tamanho
public int size()
-
isEmpty
boolean público isEmpty()
-
contém
boolean público contém(@Nullable objeto o)
Testa se esteCollection
contém o objeto especificado. Retornatrue
se e somente se pelo menos um elementoelem
nesteCollection
atender ao seguinte requisito:(object==null ? elem==null : object.equals(elem))
.- Especificado por:
contains
na interfaceCollection<E>
- Especificado por:
contains
na interfaceRealmCollection<E>
- Especificado por:
contains
na interfaceSet<E>
- Parâmetros:
o
- o objeto a ser pesquisado.- Retorna:
true
se o objeto for um elemento desteCollection
,false
caso contrário.
-
para array
objeto público [] toArray()
-
para array
public <T> T[] toArray(T[] a)
-
contémTodos
public boolean containsAll(Collection<?> c)
- Especificado por:
containsAll
na interfaceCollection<E>
- Especificado por:
containsAll
na interfaceSet<E>
-
addAll
public boolean addAll(Collection<? extends E> c)
-
ReterTodos
public boolean retainAll(Collection<?> c)
-
Remover todos
public boolean removeAll(Collection<?> c)
-
Limpar
public void clear()
-
congelar
public RealmSet<E> freeze()
- Especificado por:
freeze
na interfaceio.realm.internal.Freezable<E>
-
addChangeListener
public void addChangeListener(RealmChangeListener<RealmSet<E>> listener)
Adiciona um ouvinte de alteração a esteRealmSet
.Registrar um ouvinte de alterações não impedirá que o RealmSet subjacente seja coletado o lixo. Se o RealmSet for coletado como lixo, o ouvinte de alterações deixará de ser acionado. Para evitar isso, mantenha uma referência forte pelo tempo apropriado, por exemplo, em uma variável de classe.
public class MyActivity extends Activity { private RealmSet<Dog> dogs; // Strong reference to keep listeners alive \@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); dogs = realm.where(Person.class).findFirst().getDogs(); dogs.addChangeListener(new RealmChangeListener<RealmSet<Dog>>() { \@Override public void onChange(RealmSet<Dog> map) { // React to change } }); } }
- Parâmetros:
listener
- o ouvinte a ser notificado.- Lançamentos:
IllegalArgumentException
- se o ouvinte de alterações fornull
.IllegalStateException
- se você tentar adicionar um ouvinte de um tópico que não seja do Looper ouIntentService
.
-
addChangeListener
public void addChangeListener(SetChangeListener<E> listener)
Adiciona um ouvinte de alteração a esteRealmSet
.Registrar um ouvinte de alterações não impedirá que o RealmSet subjacente seja coletado o lixo. Se o RealmSet for coletado como lixo, o ouvinte de alterações deixará de ser acionado. Para evitar isso, mantenha uma referência forte pelo tempo apropriado, por exemplo, em uma variável de classe.
public class MyActivity extends Activity { private RealmSet<Dog> dogs; // Strong reference to keep listeners alive \@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); dogs = realm.where(Person.class).findFirst().getDogs(); dogs.addChangeListener(new SetChangeListener<Dog>() { \@Override public void onChange(RealmSet<Dog> set, SetChangeSet changeSet) { // React to change } }); } }
- Parâmetros:
listener
- o ouvinte a ser notificado.- Lançamentos:
IllegalArgumentException
- se o ouvinte de alterações fornull
.IllegalStateException
- se você tentar adicionar um ouvinte de um tópico que não seja do Looper ouIntentService
.
-
removeChangeListener
public void removeChangeListener(RealmChangeListener<RealmSet<E>> listener)
Remove o ouvinte de alterações especificado.- Parâmetros:
listener
- o ouvinte de alterações a ser removido.- Lançamentos:
IllegalArgumentException
- se o ouvinte de alterações fornull
.IllegalStateException
- se você tentar remover um ouvinte de um thread não loop de eventos.
-
removeChangeListener
public void removeChangeListener(SetChangeListener<E> listener)
Remove o ouvinte de alterações especificado.- Parâmetros:
listener
- o ouvinte de alterações a ser removido.- Lançamentos:
IllegalArgumentException
- se o ouvinte de alterações fornull
.IllegalStateException
- se você tentar remover um ouvinte de um thread não loop de eventos.
-
Remover todos os ouvintes de alterações
public void removeAllChangeListeners()
Remove todos os ouvintes de alterações definidos pelo usuário.- Lançamentos:
IllegalStateException
- se você tentar remover ouvintes de um thread que não seja do loop de eventos.- Veja também:
RealmChangeListener
-
ONDE
public RealmQuery<E> where()
Retorna um RealmQuery, que pode ser usado para fazer query de objetos específicos desta classe.- Especificado por:
where
na interfaceRealmCollection<E>
- Retorna:
- um objeto RealmQuery.
- Lançamentos:
IllegalStateException
- se a Instância de Realm tiver sido fechada ou o objeto tiver sido removido.- Veja também:
RealmQuery
-
min
@Nullable public Number min(String fieldName)
Localiza o valor mínimo de um campo.- Especificado por:
min
na interfaceRealmCollection<E>
- Parâmetros:
fieldName
- o campo para procurar um mínimo. Somente campos numéricos são permitidos.- Retorna:
- se não existirem objetos ou se todos eles tiverem
null
como o valor para o campo fornecido,null
será retornado. Caso contrário, o valor mínimo é devolvido. Ao determinar o valor mínimo, os objetos com valoresnull
são ignorados.
-
max
@Nullable public Number max(String fieldName)
Localiza o valor máximo de um campo.- Especificado por:
max
na interfaceRealmCollection<E>
- Parâmetros:
fieldName
- o campo para procurar um máximo. Somente campos numéricos são permitidos.- Retorna:
- se não existirem objetos ou se todos eles tiverem
null
como o valor para o campo fornecido,null
será retornado. Caso contrário, o valor máximo é retornado. Ao determinar o valor máximo, os objetos com valoresnull
são ignorados.
-
soma
soma de número público (string fieldName )
Calcula a soma de um determinado campo.- Especificado por:
sum
na interfaceRealmCollection<E>
- Parâmetros:
fieldName
- o campo a ser somado. Somente campos numéricos são permitidos.- Retorna:
- a soma. Se não existirem objetos ou todos eles tiverem
null
como o valor para o campo fornecido,0
será retornado. Ao calcular a soma, objetos com valoresnull
são ignorados.
-
média
média dupla pública (String fieldName)
Retorna a média de um determinado campo.- Especificado por:
average
na interfaceRealmCollection<E>
- Parâmetros:
fieldName
- o campo para calcular a média. Somente campos numéricos são permitidos.- Retorna:
- a média do campo fornecido entre os objetos nos resultados da query. Isso será do tipo double para todos os tipos de campos numéricos. Se não existirem objetos ou todos eles tiverem
null
como o valor para o campo fornecido,0
será retornado. Ao calcular a média, objetos com valoresnull
são ignorados.
-
maxDate
@Nullable public Date maxDate(String fieldName)
Encontra a data máxima.- Especificado por:
maxDate
na interfaceRealmCollection<E>
- Parâmetros:
fieldName
- o campo para procurar a data máxima. Se fieldName não for do tipo Date, uma exceção será lançada.- Retorna:
- se não existirem objetos ou se todos eles tiverem
null
como valor para o campo de data fornecido,null
será retornado. Caso contrário, a data máxima é retornada. Ao determinar a data máxima, os objetos com valoresnull
são ignorados.
-
minDate
@Nullable public Date minDate(String fieldName)
Encontra a data mínima.- Especificado por:
minDate
na interfaceRealmCollection<E>
- Parâmetros:
fieldName
- o campo para procurar a data mínima. Se fieldName não for do tipo Date, uma exceção será lançada.- Retorna:
- se não existirem objetos ou se todos eles tiverem
null
como valor para o campo de data fornecido,null
será retornado. Caso contrário, a data mínima é retornada. Ao determinar a data mínima, os objetos com valoresnull
são ignorados.
-
deleteAllFromRealm
public boolean deleteAllFromRealm()
Isso exclui todos os objetos da collection do Realm subjacente e da collection.- Especificado por:
deleteAllFromRealm
na interfaceRealmCollection<E>
- Retorna:
true
se os objetos foram excluídos,false
caso contrário.
-
isLoaded
public boolean isLoaded()
Verifica se uma collection já terminou de carregar seus dados.- Especificado por:
isLoaded
na interfaceRealmCollection<E>
- Retorna:
true
se os dados tiverem sido carregados e estiverem disponíveis,false
se os dados ainda estiverem sendo carregados.
-
carregar
carga booleana pública()
Bloqueia a collection até que todos os dados estejam disponíveis.- Especificado por:
load
na interfaceRealmCollection<E>
- Retorna:
true
se os dados puderem ser carregados com sucesso,false
caso contrário.
-
getValueClassName
string pública getValueClassName()
-
-