como Fluxo
Observe as alterações em um objeto de Realm. O fluxo emitia um InitialObject uma vez inscrito e, em seguida, a cada alteração no objeto, um UpdatedObject. Se o objeto observado for excluído do Realm, o fluxo emitirá um DeletedObject e, em seguida, será concluído, caso contrário, continuará em execução até ser cancelado.
Os cálculos de alteração serão executados no thread representado por Configuration.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 corrotina será cancelado com uma CancellationException.
Return
um fluxo representando alterações no objeto.
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
. Os curingas *
podem ser usados para capturar todas as propriedades em um determinado nível, por exemplo child.*
ou *.*
. 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 chamado em um RealmObject ou EmbeddedRealmObject ativo de uma transação de gravação (Realm.write) ou em um DynamicRealmObject dentro de uma migração (AutomaticSchemaMigration.migrate).
se um caminho chave inválido for fornecido.