Conjunto de assinaturas de interface
-
- Todas as interfaces:
Iterable<Subscription>
- Todas as subinterfaces conhecidas:
MutableSubscriptionSet
public interface SubscriptionSet extends Iterable<Subscription>
Um conjunto de assinaturas é uma visão imutável de todos osSubscription
s atuais para um determinado Realm que foi configurado para Flexible Sync.A Flexible Sync é uma maneira de definir quais dados são sincronizados de e para o dispositivo usando
RealmQuery
s. A query e seus metadados são representados por umSubscription
.Um conjunto de assinaturas define assim todos os dados que estão disponíveis para o dispositivo e sendo sincronizados com o servidor. Se o conjunto de assinaturas encontrar um erro, por exemplo, contendo uma query inválida, todo o conjunto de assinaturas entrará em um estado
SubscriptionSet.State.ERROR
e nenhuma sincronização ocorrerá até que o erro seja corrigido.Se uma assinatura for removida, os dados correspondentes também serão, mas ela será removida apenas do dispositivo. Ele não é excluído no servidor.
É possível modificar um conjunto de assinaturas enquanto estiver offline, mas a modificação não será aceita pelo servidor antes que
getState()
retorneSubscriptionSet.State.COMPLETE
.É possível forçar o conjunto de assinaturas a ser sincronizado com o servidor usando
waitForSynchronization()
e suas variantes.
-
-
Resumo da classe aninhada
Classes agrupadas Modificador e tipo Interface Descrição static class
SubscriptionSet.State
Os possíveis estados em que um conjunto de assinaturas pode estar.static interface
SubscriptionSet.StateChangeCallback
Callback usada ao esperar de forma assíncrona que o servidor processe o conjunto de assinaturas.static interface
SubscriptionSet.UpdateAsyncCallback
chamada de resposta usada ao atualizar de forma assíncrona um conjunto de assinaturas.static interface
SubscriptionSet.UpdateCallback
Interface usada ao modificar um conjunto de assinaturas.
-
Resumo do método
Todos os métodos Métodos de instância Métodos abstratos Modificador e tipo Método Descrição Subscription
find(RealmQuery query)
Encontre a primeira assinatura que contém a query fornecida.Subscription
find(String name)
Encontre a assinatura com um nome fornecido.String
getErrorMessage()
SegetState()
retornarSubscriptionSet.State.ERROR
, este método retornará o motivo.SubscriptionSet.State
getState()
Retorna o estado atual do SubscriptionSet.int
size()
Retorna quantas assinaturas estão atualmente neste conjunto de assinaturas.SubscriptionSet
update(SubscriptionSet.UpdateCallback action)
Modifique o conjunto de assinaturas.RealmAsyncTask
updateAsync(SubscriptionSet.UpdateAsyncCallback callback)
Modifique de forma assíncrona o conjunto de assinaturas.boolean
waitForSynchronization()
Aguarde o conjunto de subscrições sincronizar com o servidor.boolean
waitForSynchronization(Long timeOut, TimeUnit unit)
Aguarde o conjunto de subscrições sincronizar com o servidor.RealmAsyncTask
waitForSynchronizationAsync(SubscriptionSet.StateChangeCallback callback)
Aguarde de forma assíncrona o conjunto de assinaturas sincronizar com o servidor.RealmAsyncTask
waitForSynchronizationAsync(Long timeOut, TimeUnit unit, SubscriptionSet.StateChangeCallback callback)
Aguarde de forma assíncrona o conjunto de assinaturas sincronizar com o servidor.-
Métodos herdados da interface java.lang.Iterável
forEach, iterator, spliterator
-
-
-
-
Detalhes do método
-
find
@Nullable Descoberta de assinatura (query RealmQuery )
Encontre a primeira assinatura que contém a query fornecida. É possível que várias assinaturas nomeadas contenham a mesma query.- Parâmetros:
query
- query para pesquisar.- Retorna:
- a primeira assinatura contendo a query ou
null
se nenhuma correspondência foi encontrada.
-
find
@Nullable Assinatura encontrada (nome da string )
Encontre a assinatura com um nome fornecido.- Parâmetros:
name
- nome da assinatura a ser pesquisada.- Retorna:
- a assinatura correspondente ou
null
se nenhuma assinatura com esse nome foi encontrada.
-
Obter estado
SubscriptionSet.State getState()
Retorna o estado atual do SubscriptionSet. ConsulteSubscriptionSet.State
para obter mais detalhes sobre cada estado.- Retorna:
- estado atual do SubscriptionSet.
-
Tamanho
int size()
Retorna quantas assinaturas estão atualmente neste conjunto de assinaturas.- Retorna:
- o número de assinaturas no conjunto de assinaturas.
-
Obter mensagem de erro
@Nullable String getErrorMessage()
SegetState()
retornarSubscriptionSet.State.ERROR
, este método retornará o motivo. Os erros podem ser corrigidos modificando a assinatura de acordo e, em seguida, ligando parawaitForSynchronization()
.- Retorna:
- o erro subjacente se o conjunto de assinaturas estiver no estado
SubscriptionSet.State.ERROR
. Para todos os outros estados,null
será retornado.
-
Aguarde a sincronização
boolean waitForSynchronization()
Aguarde o conjunto de subscrições sincronizar com o servidor. Ele retornará quando o servidor aceitar o conjunto de query e tiver baixado dados para elas, ou se ocorrer um erro. Observe que você precisará chamar manualmenteBaseRealm.refresh()
ou aguardar que os ouvintes de alterações trigger para ver os dados baixados. Se ocorreu um erro, o motivo subjacente pode ser encontrado por meiogetErrorMessage()
.- Retorna:
true
se todas as assinaturas atuais foram aceitas pelo servidor e os dados foram baixados, oufalse
se ocorreu um erro.
-
Aguarde a sincronização
boolean waitForSynchronization (Long timeOut, unidade TimeUnit )
Aguarde o conjunto de subscrições sincronizar com o servidor. Ele retornará quando o servidor aceitar o conjunto de query e tiver baixado dados para elas, ou se ocorrer um erro. Observe que você precisará chamar manualmenteBaseRealm.refresh()
ou aguardar que os ouvintes de alterações trigger para ver os dados baixados. Se ocorreu um erro, o motivo subjacente pode ser encontrado por meiogetErrorMessage()
.- Parâmetros:
timeOut
- quanto tempo esperar para que a sincronização seja bem-sucedida ou falhe.unit
- unidade de tempo usada para o tempo limite.- Retorna:
true
se todas as assinaturas atuais foram aceitas pelo servidor e os dados foram baixados, oufalse
se ocorreu um erro.- Lançamentos:
RuntimeException
- se o tempo limite for excedido.
-
waitForSynchronizationAsync
RealmAsyncTask waitForSynchronizationAsync (subscriptionSet.StateChangeCallback chamada de resposta)
Aguarde de forma assíncrona o conjunto de assinaturas sincronizar com o servidor. Ele invocará a chamada de resposta quando o servidor aceitar o conjunto de queries e tiver baixado dados para elas, ou se ocorrer um erro. Observe que você precisará chamar manualmenteBaseRealm.refresh()
ou aguardar que os ouvintes de alterações trigger para ver os dados baixados. Se ocorreu um erro, o motivo subjacente pode ser encontrado por meiogetErrorMessage()
.- Parâmetros:
callback
- chamada de resposta para acionar quando a sincronização for bem-sucedida ou falhar. Os resultados serão relatados no thread da UI.- Retorna:
true
se todas as assinaturas atuais foram aceitas pelo servidor e os dados foram baixados, oufalse
se ocorreu um erro.
-
waitForSynchronizationAsync
RealmAsyncTask waitForSynchronizationAsync (Long timeOut, unidade TimeUnit , chamada de resposta SubscriptionSet.StateChangeCallback )
Aguarde de forma assíncrona o conjunto de assinaturas sincronizar com o servidor. A chamada de resposta é invocada quando o servidor aceita o conjunto de query e baixou dados para elas, ou se ocorrer um erro. Observe que você precisará chamar manualmenteBaseRealm.refresh()
ou aguardar que os ouvintes de alterações trigger para ver os dados baixados. Se ocorreu um erro, o motivo subjacente pode ser encontrado por meiogetErrorMessage()
.- Parâmetros:
timeOut
- quanto tempo esperar para que a sincronização seja bem-sucedida ou falhe.unit
- unidade de tempo usada para o tempo limite.callback
- chamada de resposta para acionar quando a sincronização for bem-sucedida ou falhar. Os resultados serão relatados no thread da UI.- Retorna:
true
se todas as assinaturas atuais foram aceitas pelo servidor e os dados foram baixados, oufalse
se ocorreu um erro.
-
update
Atualização do SubscriptionSet (ação SubscriptionSet.UpdateCallback )
Modifique o conjunto de assinaturas. Se uma exceção for lançada durante a atualização, nenhuma alteração será aplicada. Se a atualização for bem-sucedida, esse conjunto de assinaturas será atualizado com o estado modificado.- Parâmetros:
action
- o bloco que modifica o conjunto de assinaturas. Ele será executado no tópico do chamador.- Retorna:
- este conjunto de assinaturas, que agora foi atualizado.
- Lançamentos:
Exception
- qualquer exceção lançada durante a atualização será propagada de volta.
-
updateAsync
RealmAsyncTask updateAsync(Chamada de retorno SubscriptionSet.UpdateAsyncCallback )
Modifique de forma assíncrona o conjunto de assinaturas. Se uma exceção for lançada durante a atualização, nenhuma alteração será aplicada. *- Parâmetros:
callback
- chamada de resposta que controla a solicitação assíncrona. Sucesso ou fracasso será relatado aqui.- Retorna:
- tarefa que controla a execução assíncrona.
-
-