como Fluxo
Observa alterações no primeiro objeto que atende às condições de query. O fluxo emitirá eventos SingleQueryChange em quaisquer alterações no primeiro objeto representado pela query. O fluxo continuará sendo executado indefinidamente até ser cancelado.
Se inscrito em uma query vazia, o fluxo emitirá um evento PpendingObject para sinalizar que a query está vazia, ele então produzirá um evento InitialObject para o primeiro elemento. Em uma lista não vazia, ele começaria a emitir um evento InitialObject para seu primeiro elemento.
Uma vez inscrito e o evento InitialObject for observado, instâncias sequenciais de UpdatedObject serão observadas se o primeiro elemento for modificado. Se o elemento for excluído, um DeletedObject seria gerado.
Se o primeiro elemento for substituído por um novo valor, um InitialObject será gerado para o novo head e será seguido por UpdatedObject em todas as suas alterações.
┌───────┐
┌─────┤ Start ├───┐
│ └───────┘ ├────┐──────────┬─────┐
┌───────▼───────┐ ┌───────▼────┴──┐ ┌─────┴─────▼───┐
│ PendingObject ├─► InitialObject │ │ UpdatedObject │
└───────────────┘ └───────▲───────┘ └───────────┬───┘
│ ┌───────────────┐ │
└──► DeletedObject ◄──┘
└───────────────┘
Os cálculos de alteração serão executados no thread representado por RealmConfiguration.Builder.notificationDispatcher.
O fluxo tem um buffer interno de Channel.BUFFERED mas se o consumidor não consumir os elementos em tempo hábil, o escopo da coroutine será cancelado com uma CancellationException.
Return
um fluxo que representa alterações no RealmObject ou EmbeddedRealmObject resultante da execução dessa query.
Parâmetros
Uma lista opcional de propriedades que define quando uma alteração no objeto resultará na emissão de uma alteração. Propriedades aninhadas podem ser definidas usando uma sintaxe pontilhada, por exemplo parent.child.name
. Se nenhum caminho de chave for fornecido, as alterações em todas as propriedades de nível superior e as propriedades aninhadas 4 níveis abaixo trigger uma alteração.
Lança
se um caminho chave inválido for fornecido.