Class RealmList<E>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<E>
-
- io.realm.RealmList<E>
-
- Parâmetros do tipo:
E
- a classe de objetos na lista.
- Todas as interfaces implementadas:
io.realm.internal.Freezable<RealmCollection<E>>
,io.realm.internal.ManageableObject
,OrderedRealmCollection<E>
,RealmCollection<E>
,Iterable<E>
,Collection<E>
,List<E>
public class RealmList<E> extends AbstractList<E> implements OrderedRealmCollection<E>
O RealmList é usado para modelar relacionamentos um-para-muitos em umRealmObject
. O RealmList tem dois modos: um modo managed e não gerenciado. No modo managed, todos os objeto são persistentes dentro de um Realm; no modo não gerenciado, ele funciona como um ArrayList normal.Somente o Realm pode criar RealmLists managed. Os managed RealmLists atualizarão automaticamente o conteúdo sempre que o Realm subjacente for atualizado e só pode ser acessado usando o getter de um
RealmObject
.RealmLists não managed podem ser criados pelo usuário e podem conter RealmObjects managed e não managed. Isso é útil ao lidar com desserializadores JSON como GSON ou outras estruturas que injetam valores em uma classe. Elementos não gerenciados nesta lista podem ser adicionados a um Realm utilizando o método
Realm.copyToRealm(Iterable, ImportFlag...)
.RealmList
pode conter mais elementos do queInteger.MAX_VALUE
. Nesse caso, você pode acessar apenas os primeiros elementosInteger.MAX_VALUE
nele.
-
-
Resumo do campo
Campos Modificador e tipo Campo Descrição io.realm.BaseRealm
baseRealm
A instânciaBaseRealm
na qual esta lista reside.
-
Resumo do método
Todos os métodos Métodos de instância Métodos concretos Modificador e tipo Método Descrição void
add(int location, E element)
Insere o objeto especificado nesta Lista no local especificado.boolean
add(E object)
Adiciona o objeto especificado no final desta lista.void
addChangeListener(OrderedRealmCollectionChangeListener<RealmList<E>> listener)
Adiciona um ouvinte de alteração a esteRealmList
.void
addChangeListener(RealmChangeListener<RealmList<E>> listener)
Adiciona um ouvinte de alteração a esteRealmList
.Observable<CollectionChange<RealmList<E>>>
asChangesetObservable()
Retorna um Rx Observable que monitora as alterações neste RealmList.Flowable<RealmList<E>>
asFlowable()
Retorna um Rx Flowable que monitora as alterações neste RealmList.double
average(String fieldName)
Retorna a média de um determinado campo.void
clear()
Remove todos os elementos desta lista, deixando-a vazia.boolean
contains(Object object)
Retornatrue
se a lista contiver o elemento especificado quando anexado a um Realm.OrderedRealmCollectionSnapshot<E>
createSnapshot()
Cria um snapshot a partir desteOrderedRealmCollection
.boolean
deleteAllFromRealm()
Isso exclui todos os objetos da collection do Realm subjacente e da collection.boolean
deleteFirstFromRealm()
Exclui o primeiro objeto do Realm.void
deleteFromRealm(int location)
Exclui o objeto no índice fornecido do Realm.boolean
deleteLastFromRealm()
Exclui o último objeto do Realm.E
first()
Obtém o primeiro objeto da collection.E
first(E defaultValue)
Obtém o primeiro objeto da collection.RealmList<E>
freeze()
E
get(int location)
Retorna o elemento no local especificado nesta lista.Realm
getRealm()
Retorna a instânciaRealm
à qual esta coleção pertence.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()
E
last()
Obtém o último objeto da collection.E
last(E defaultValue)
Obtém o último objeto da collection.ListIterator<E>
listIterator()
ListIterator<E>
listIterator(int location)
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.void
move(int oldPos, int newPos)
Move um objeto de uma posição para outra, mantendo uma lista de tamanho fixo.E
remove(int location)
Remove o objeto no local especificado desta lista.boolean
remove(Object object)
Remove uma instância do objeto especificado desteCollection
se houver.boolean
removeAll(Collection<?> collection)
Remove todas as ocorrências nesteCollection
de cada objeto noCollection
especificado.void
removeAllChangeListeners()
Remove todos os ouvintes de alterações definidos pelo usuário.void
removeChangeListener(OrderedRealmCollectionChangeListener<RealmList<E>> listener)
Remove o ouvinte de alterações especificado.void
removeChangeListener(RealmChangeListener<RealmList<E>> listener)
Remove o ouvinte de alterações especificado.E
set(int location, E object)
Substitui o elemento no local especificado nesta lista pelo objeto especificado.int
size()
Retorna o número de elementos nesteList
.RealmResults<E>
sort(String fieldName)
Classifica uma collection com base no campo fornecido em ordem crescente.RealmResults<E>
sort(String[] fieldNames, Sort[] sortOrders)
Classifica uma collection com base nos campos fornecidos e nas ordens de classificação.RealmResults<E>
sort(String fieldName, Sort sortOrder)
Classifica uma collection com base no campo fornecido e na ordem de classificação.RealmResults<E>
sort(String fieldName1, Sort sortOrder1, String fieldName2, Sort sortOrder2)
Classifica uma collection com base nos campos fornecidos e nas ordens de classificação.Number
sum(String fieldName)
Calcula a soma de um determinado campo.String
toString()
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.util.Lista de resumos
addAll, equals, hashCode, indexOf, lastIndexOf, subList
-
Métodos herdados da classe java.util.Coleção abstrata
addAll, containsAll, isEmpty, retainAll, toArray, toArray
-
Métodos herdados da interface java.util.collection
parallelStream, removeIf, stream, toArray
-
Métodos herdados da interface java.util.Lista
addAll, addAll, containsAll, equals, hashCode, indexOf, isEmpty, lastIndexOf, replaceAll, retainAll, sort, spliterator, subList, toArray, toArray
-
-
-
-
Detalhes do construtor
-
Lista de domínios
public RealmList()
Cria um RealmList no modo não gerenciado, onde os elementos não são controlados por um Realm. Isso efetivamente faz com que o RealmList funcione como umArrayList
e não é possível executar query do objeto neste estado.Use
Realm.copyToRealm(Iterable, ImportFlag...)
para persistir adequadamente seus elementos no Realm.
-
Lista de domínios
public RealmList(E... objeto)
Cria um RealmList no modo não gerenciado com uma lista inicial de elementos. Um RealmList na função de modo não gerenciado como umArrayList
e não é possível fazer query ao objeto neste estado.Use
Realm.copyToRealm(Iterable, ImportFlag...)
para persistir adequadamente todos os elementos não gerenciados no Realm.- Parâmetros:
objects
- objetos iniciais na lista.
-
-
Detalhes do método
-
é 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.
-
congelar
public RealmList<E> freeze()
- Especificado por:
freeze
na interfaceio.realm.internal.Freezable<E>
-
IsFrozen
public boolean isFrozen()
- Especificado por:
isFrozen
na interfaceio.realm.internal.ManageableObject
-
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.
-
adicionar
public void add(int location, @Nullable E element)
Insere o objeto especificado nesta Lista no local especificado. O objeto é inserido antes de qualquer elemento anterior no local especificado. Se o local for igual ao tamanho desta Lista, o objeto será adicionado no final.- RealmLists não gerenciados: é possível adicionar objetos gerenciados e não gerenciados. Se adicionarem objeto managed a um RealmList não gerenciado, eles não serão copiados para o Realm novamente se usarem
Realm.copyToRealm(RealmModel, ImportFlag...)
posteriormente. - managed RealmLists: é possível adicionar objeto não managed a uma RealmList que já é managed. Nesse caso, o objeto será copiado de forma transparente para o Realm usando
Realm.copyToRealm(RealmModel, ImportFlag...)
ouRealm.copyToRealmOrUpdate(RealmModel, ImportFlag...)
se tiver uma chave primária.
- Especificado por:
add
na interfaceList<E>
- Substitui:
add
na aulaAbstractList<E>
- Parâmetros:
location
- o índice no qual inserir.element
- o elemento a ser adicionado.- Lançamentos:
IllegalStateException
- se a Instância de Realm tiver sido fechada ou o objeto do container tiver sido removido.IndexOutOfBoundsException
- selocation < 0 || location > size()
.
- RealmLists não gerenciados: é possível adicionar objetos gerenciados e não gerenciados. Se adicionarem objeto managed a um RealmList não gerenciado, eles não serão copiados para o Realm novamente se usarem
-
adicionar
adição booleana pública(@Nullable E objeto)
Adiciona o objeto especificado no final desta lista.- RealmLists não gerenciados: é possível adicionar objetos gerenciados e não gerenciados. Se adicionarem objeto managed a um RealmList não gerenciado, eles não serão copiados para o Realm novamente se usarem
Realm.copyToRealm(RealmModel, ImportFlag...)
posteriormente. - managed RealmLists: é possível adicionar objeto não managed a uma RealmList que já é managed. Nesse caso, o objeto será copiado de forma transparente para o Realm usando
Realm.copyToRealm(RealmModel, ImportFlag...)
ouRealm.copyToRealmOrUpdate(RealmModel, ImportFlag...)
se tiver uma chave primária.
- Especificado por:
add
na interfaceCollection<E>
- Especificado por:
add
na interfaceList<E>
- Substitui:
add
na aulaAbstractList<E>
- Parâmetros:
object
- o objeto a ser adicionado.- Retorna:
- sempre
true
. - Lançamentos:
IllegalStateException
- se a Instância de Realm tiver sido fechada ou o objeto tiver sido removido.
- RealmLists não gerenciados: é possível adicionar objetos gerenciados e não gerenciados. Se adicionarem objeto managed a um RealmList não gerenciado, eles não serão copiados para o Realm novamente se usarem
-
set
conjunto E público (localização int, objeto @Nullable E )
Substitui o elemento no local especificado nesta lista pelo objeto especificado.- RealmLists não gerenciados: é possível adicionar objetos gerenciados e não gerenciados. Se adicionarem objeto managed a um RealmList não gerenciado, eles não serão copiados para o Realm novamente se usarem
Realm.copyToRealm(RealmModel, ImportFlag...)
posteriormente. - managed RealmLists: é possível adicionar objeto não managed a uma RealmList que já é managed. Nesse caso, o objeto será copiado de forma transparente para o Realm usando
Realm.copyToRealm(RealmModel, ImportFlag...)
ouRealm.copyToRealmOrUpdate(RealmModel, ImportFlag...)
se tiver uma chave primária.
- Especificado por:
set
na interfaceList<E>
- Substitui:
set
na aulaAbstractList<E>
- Parâmetros:
location
- o índice no qual colocar o objeto especificado.object
- o objeto a ser adicionado.- Retorna:
- o elemento anterior no índice.
- Lançamentos:
IllegalStateException
- se a Instância de Realm tiver sido fechada ou o objeto tiver sido removido.IndexOutOfBoundsException
- selocation < 0 || location >= size()
.
- RealmLists não gerenciados: é possível adicionar objetos gerenciados e não gerenciados. Se adicionarem objeto managed a um RealmList não gerenciado, eles não serão copiados para o Realm novamente se usarem
-
mover
public void move(int oldPos, int newPos)
Move um objeto de uma posição para outra, mantendo uma lista de tamanho fixo. Os RealmObjects serão deslocados para que nenhum valornull
seja introduzido.- Parâmetros:
oldPos
- índice do RealmObject a ser movido.newPos
- posição alvo. Se newPos < antigoPos, o objeto no local será deslocado para a direita. Se antigaPos < newPos, indexes > antigaPos será deslocada uma vez para a esquerda.- Lançamentos:
IllegalStateException
- se a Instância de Realm tiver sido fechada ou o objeto tiver sido removido.IndexOutOfBoundsException
- se alguma posição estiver fora de [0, tamanho()].
-
Limpar
public void clear()
Remove todos os elementos desta lista, deixando-a vazia. Este método não remove os objetos do Realm.- Especificado por:
clear
na interfaceCollection<E>
- Especificado por:
clear
na interfaceList<E>
- Substitui:
clear
na aulaAbstractList<E>
- Lançamentos:
IllegalStateException
- se a Instância de Realm tiver sido fechada ou o objeto tiver sido removido.- Veja também:
List.isEmpty()
,List.size()
,deleteAllFromRealm()
-
remover
remoção pública E (localização int)
Remove o objeto no local especificado desta lista.- Especificado por:
remove
na interfaceList<E>
- Substitui:
remove
na aulaAbstractList<E>
- Parâmetros:
location
- o índice do objeto a ser removido.- Retorna:
- o objeto removido.
- Lançamentos:
IllegalStateException
- se a Instância de Realm tiver sido fechada ou o objeto tiver sido removido.IndexOutOfBoundsException
- selocation < 0 || location >= size()
.
-
remover
remoção booleana pública(@Nullable objeto objeto)
Remove uma instância do objeto especificado desteCollection
se houver. Essa implementação itera sobre esseCollection
e testa cada elementoe
retornado pelo iterador, see
é igual ao objeto fornecido. Seobject != null
, este teste será realizado usandoobject.equals(e)
, caso contrário, usandoobject == null
. Se um elemento igual ao objeto fornecido for encontrado, o métodoremove
será chamado no iterador etrue
será retornado,false
caso contrário. Se o iterador não oferecer suporte à remoção de elementos, umUnsupportedOperationException
será lançado.- Especificado por:
remove
na interfaceCollection<E>
- Especificado por:
remove
na interfaceList<E>
- Substitui:
remove
na aulaAbstractCollection<E>
- Parâmetros:
object
- o objeto a ser removido.- Retorna:
true
se esteCollection
for modificado,false
caso contrário.- Lançamentos:
ClassCastException
- se o objeto passado não for do tipo correto.NullPointerException
- seobject
fornull
.
-
Remover todos
public boolean removeAll(Collection<?> collection)
Remove todas as ocorrências nesteCollection
de cada objeto noCollection
especificado. Após este método retornar nenhum dos elementos noCollection
passado pode ser encontrado nesteCollection
mais.Essa implementação itera no
Collection
e testa cada elementoe
retornado pelo iterador, se ele está contido noCollection
especificado. Se este teste for positivo, o métodoremove
será chamado no iterador.- Especificado por:
removeAll
na interfaceCollection<E>
- Especificado por:
removeAll
na interfaceList<E>
- Substitui:
removeAll
na aulaAbstractCollection<E>
- Parâmetros:
collection
- a collection de objeto a serem removidos.- Retorna:
true
se esteCollection
for modificado,false
caso contrário.- Lançamentos:
ClassCastException
- se um ou mais elementos decollection
não forem do tipo correto.NullPointerException
- secollection
fornull
.
-
deleteFirstFromRealm
public boolean deleteFirstFromRealm()
Exclui o primeiro objeto do Realm. Isso também o remove desta collection.- Especificado por:
deleteFirstFromRealm
na interfaceOrderedRealmCollection<E>
- Retorna:
true
se um objeto foi excluído,false
caso contrário.
-
deleteLastFromRealm
public boolean deleteLastFromRealm()
Exclui o último objeto do Realm. Isso também o remove desta collection.- Especificado por:
deleteLastFromRealm
na interfaceOrderedRealmCollection<E>
- Retorna:
true
se um objeto foi excluído,false
caso contrário.
-
obter
@Nullable public E get(localização int)
Retorna o elemento no local especificado nesta lista.- Especificado por:
get
na interfaceList<E>
- Especificado por:
get
na aulaAbstractList<E>
- Parâmetros:
location
- o índice do elemento a ser retornado.- Retorna:
- o elemento no índice especificado.
- Lançamentos:
IllegalStateException
- se a Instância de Realm tiver sido fechada ou o objeto tiver sido removido.IndexOutOfBoundsException
- selocation < 0 || location >= size()
.
-
primeiro
@Nullable public E first()
Obtém o primeiro objeto da collection.- Especificado por:
first
na interfaceOrderedRealmCollection<E>
- Retorna:
- o primeiro objeto.
-
primeiro
@Nullable E public E first(@Nullable E defaultValue)
Obtém o primeiro objeto da collection. Se a collection estiver vazia, o padrão fornecido será usado.- Especificado por:
first
na interfaceOrderedRealmCollection<E>
- Retorna:
- o primeiro objeto ou o padrão fornecido.
-
último
@Nullable public E last()
Obtém o último objeto da collection.- Especificado por:
last
na interfaceOrderedRealmCollection<E>
- Retorna:
- o último objeto.
-
último
@Nullable public E last(@Nullable E defaultValue)
Obtém o último objeto da collection. Se a collection estiver vazia, o padrão fornecido será usado.- Especificado por:
last
na interfaceOrderedRealmCollection<E>
- Retorna:
- o último objeto ou o padrão fornecido.
-
sort
public RealmResults<E> sort(String fieldName)
Classifica uma collection com base no campo fornecido em ordem crescente.- Especificado por:
sort
na interfaceOrderedRealmCollection<E>
- Parâmetros:
fieldName
- o nome do campo pelo qual classificar. Somente campos do tipo booleano, curto, int, longo, flutuante, duplo, Data e String são permitidos.- Retorna:
- um novo
RealmResults
ordenado será criado e devolvido. A collection original permanece inalterada.
-
sort
public RealmResults<E> sort(String fieldName, Sort sortOrder)
Classifica uma collection com base no campo fornecido e na ordem de classificação.- Especificado por:
sort
na interfaceOrderedRealmCollection<E>
- Parâmetros:
fieldName
- o nome do campo pelo qual classificar. Somente campos do tipo booleano, curto, int, longo, flutuante, duplo, Data e String são permitidos.sortOrder
- a direção pela qual classificar.- Retorna:
- um novo
RealmResults
ordenado será criado e devolvido. A collection original permanece inalterada.
-
sort
public RealmResults<E> sort(String fieldName1, Sort sortOrder1, String fieldName2, Sort sortOrder2)
Classifica uma collection com base nos campos fornecidos e nas ordens de classificação.- Especificado por:
sort
na interfaceOrderedRealmCollection<E>
- Parâmetros:
fieldName1
- nome do primeiro campo. Somente campos do tipo booleano, curto, int, longo, flutuante, duplo, Data e String são permitidos.sortOrder1
- ordem de classificação para o primeiro campo.fieldName2
- nome do segundo campo. Somente campos do tipo booleano, curto, int, longo, flutuante, duplo, Data e String são permitidos.sortOrder2
- ordem de classificação para o segundo campo.- Retorna:
- um novo
RealmResults
ordenado será criado e devolvido. A collection original permanece inalterada.
-
sort
public RealmResults<E> sort(String[] fieldNames, Sort[] sortOrders)
Classifica uma collection com base nos campos fornecidos e nas ordens de classificação.- Especificado por:
sort
na interfaceOrderedRealmCollection<E>
- Parâmetros:
fieldNames
- uma array de nomes de campos para classificar. Somente campos do tipo booleano, curto, int, longo, flutuante, duplo, Data e String são permitidos.sortOrders
- as instruções para classificar por.- Retorna:
- um novo
RealmResults
ordenado será criado e devolvido. A collection original permanece inalterada.
-
deleteFromRealm
public void deleteFromRealm(int location)
Exclui o objeto no índice fornecido do Realm. Isso também o remove da coleção.- Especificado por:
deleteFromRealm
na interfaceOrderedRealmCollection<E>
- Parâmetros:
location
- o índice da array identificando o objeto a ser removido.
-
Tamanho
public int size()
Retorna o número de elementos nesteList
.- Especificado por:
size
na interfaceCollection<E>
- Especificado por:
size
na interfaceList<E>
- Especificado por:
size
na aulaAbstractCollection<E>
- Retorna:
- o número de elementos neste
List
. - Lançamentos:
IllegalStateException
- se a Instância de Realm tiver sido fechada ou o objeto tiver sido removido.
-
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.
-
contém
boolean público contém(objeto @Nullable Object )
Retornatrue
se a lista contiver o elemento especificado quando anexado a um Realm. Esse método executará uma query do Realm nativo storage engine para localizar rapidamente o elemento especificado.Se a lista não estiver anexada a um Realm, a implementação padrão do
List.contains(Object)
ocorrerá.- Especificado por:
contains
na interfaceCollection<E>
- Especificado por:
contains
na interfaceList<E>
- Especificado por:
contains
na interfaceRealmCollection<E>
- Substitui:
contains
na aulaAbstractCollection<E>
- Parâmetros:
object
- o elemento cuja presença nesta lista será testada.- Retorna:
true
se esta lista contiver o elemento especificado, caso contráriofalse
.
-
listIterador
@Nonnull public ListIterator<E> listIterator()
- Especificado por:
listIterator
na interfaceList<E>
- Substitui:
listIterator
na aulaAbstractList<E>
-
listIterador
@Nonnull public ListIterator<E> listIterator(int location)
- Especificado por:
listIterator
na interfaceList<E>
- Substitui:
listIterator
na aulaAbstractList<E>
-
createSnapshot
public OrderedRealmCollectionSnapshot<E> createSnapshot()
Cria um snapshot a partir desteOrderedRealmCollection
.- Especificado por:
createSnapshot
na interfaceOrderedRealmCollection<E>
- Retorna:
- o snapshot da collection.
- Veja também:
OrderedRealmCollectionSnapshot
-
getRealm
public Realm getRealm()
Retorna a instânciaRealm
à qual esta coleção pertence.Chamar
Closeable.close()
na instância retornada não é recomendado, pois é o mesmo que chamá-lo na Instância de Realm, o que pode fazer com que o Realm feche completamente, invalidando a lista.- Retorna:
- instância
Realm
a esta collection pertence ounull
se a collection não for gerenciada. - Lançamentos:
IllegalStateException
- se o Realm for uma instância deDynamicRealm
ou se oRealm
já estiver fechado.
-
toString
string pública toString()
- Substitui:
toString
na aulaAbstractCollection<E>
-
asFlowable
public Flowable<RealmList<E>> asFlowable()
Retorna um Rx Flowable que monitora as alterações neste RealmList. Ele emitirá o RealmList atual quando for inscrito. O RealmList será emitido continuamente à medida que o RealmList for atualizado -onComplete
nunca será chamado.Os itens emitidos do Realm Flowables estão congelados (consulte
freeze()
. Isso significa que eles são imutáveis e podem ser lidos em qualquer thread.Os Realm Flowables sempre emitem itens do thread que mantém o RealmList ativo. Isso significa que, se você precisar fazer processamento adicional, é recomendável observar os valores em um agendador de computação:
list.asFlowable() .observeOn(Schedulers.computation()) .map(rxResults -> doExpensiveWork(rxResults)) .observeOn(AndroidSchedulers.mainThread()) .subscribe( ... );
Se você quiser que o
asFlowable()
pare de emitir itens, você pode instruir o RxJava a emitir apenas somente o primeiro item usando o operadorfirst()
:list.asFlowable() .first() .subscribe( ... ) // You only get the results once
- Retorna:
- RxJava Observable que chama apenas
onNext
. Ele nunca chamaráonComplete
ouOnError
. - Lançamentos:
UnsupportedOperationException
- se a estrutura RxJava necessária não estiver no caminho de classe ou a Instância de Realm correspondente não suportar RxJava.- Veja também:
- RxJava e Realm
-
asChangesetObservable
public Observable<CollectionChange<RealmList<E>>> asChangesetObservable()
Retorna um Rx Observable que monitora as alterações neste RealmList. Ele emitirá o RealmList atual quando estiver inscrito. Para cada atualização no RealmList, um par que consiste no RealmList e noOrderedCollectionChangeSet
será enviado. O changeset seránull
na primeira vez que um RealmList for emitido.O RealmList será emitido continuamente à medida que o RealmList for atualizado -
onComplete
nunca será chamado.Os itens emitidos do Realm Observables estão congelados (consulte
freeze()
. Isso significa que eles são imutáveis e podem ser lidos em qualquer thread.Realm Observables sempre emitem itens do thread que contém o Realm ativo. Isso significa que, se você precisar fazer processamento adicional, é recomendável observar os valores em um agendador de computação:
list.asChangesetObservable() .observeOn(Schedulers.computation()) .map((rxList, changes) -> doExpensiveWork(rxList, changes)) .observeOn(AndroidSchedulers.mainThread()) .subscribe( ... );
- Retorna:
- RxJava Observable que chama apenas
onNext
. Ele nunca chamaráonComplete
ouOnError
. - Lançamentos:
UnsupportedOperationException
- se a estrutura RxJava necessária não estiver no caminho de classe ou a Instância de Realm correspondente não suportar RxJava.IllegalStateException
- se o Realm não tiver sido aberto em uma thread do loop de eventos.- Veja também:
- RxJava e Realm
-
addChangeListener
public void addChangeListener(OrderedRealmCollectionChangeListener<RealmList<E>> listener)
Adiciona um ouvinte de alteração a esteRealmList
.Registrar um ouvinte de alterações não impedirá que o RealmList subjacente seja coletado o lixo. Se o RealmList 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 RealmList<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 OrderedRealmCollectionChangeListener<RealmList<Dog>>() { \@Override public void onChange(RealmList<Dog> dogs, OrderedCollectionChangeSet changeSet) { // React to change } }); } }
- Parâmetros:
listener
- o ouvinte de alterações 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(OrderedRealmCollectionChangeListener<RealmList<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.- Veja também:
RealmChangeListener
-
addChangeListener
public void addChangeListener(RealmChangeListener<RealmList<E>> listener)
Adiciona um ouvinte de alteração a esteRealmList
.Registrar um ouvinte de alterações não impedirá que o RealmList subjacente seja coletado o lixo. Se o RealmList 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 RealmList<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<RealmList<Dog>>() { \@Override public void onChange(RealmList<Dog> dogs) { // React to change } }); } }
- Parâmetros:
listener
- o ouvinte de alterações 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<RealmList<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.- Veja também:
RealmChangeListener
-
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
-
-