Objeto NodeObserver¶
Objeto NodeObserver¶
Este objeto representa um NodeObserver, um mecanismo capaz de monitorar e notificar mudanças que ocorrerem em um determinado Nodo do NodeDatabase.
Como instanciar um NodeObserver¶
É possível instanciar um NodeObserver através do método NDB.newObserver
Características¶
O objeto NodeObserver possui as seguintes características:
Propriedades e atributos¶
| Propriedade | Tipo | Descrição |
|---|---|---|
| enabled | Boolean | Determina se o NodeObserve está ativo e se pode disparar eventos notificando mudanças. Valor padrão: true |
| node | objeto Nodo | Somente leitura, contém o objeto Nodo que está sendo monitorado pelo NodeObserver |
Eventos¶
| Nome do evento | Descrição |
|---|---|
| onChildAdded | Este evento é invocado quando um objeto nodo filho é criado no nodo que está sendo monitorado. Parâmetros: node - O objeto nodo filho que foi criado. |
| onChildRemoved | Este evento é invocado quando um objeto nodo filho é deletado do nodo que está sendo monitorado. Parâmetros: node - O objeto nodo filho que foi removido. |
| onDeepChildAdded | Este evento é invocado quando um objeto nodo filho é criado no nodo que está sendo monitorado ou em algum de seus filhos (monitoramento recursivo). Parâmetros: node - O objeto nodo filho que foi criado. |
| onDeepChildRemoved | Este evento é invocado quando um objeto nodo filho é deletado do nodo que está sendo monitorado ou de algum de seus filhos (monitoramento recursivo). Parâmetros: node - O objeto nodo filho que foi removido. |
| onChanged | Este evento é invocado quando o valor de algum atributo do nodo que está sendo monitorado é alterado. Parâmetros: node - O objeto nodo onde ocorreu a mudança do do valor. attribute - Cadeia de caracteres contendo o nome do atributo que mudou. oldValue - Antigo valor do atributo. |
| onDeepChanged | Este evento é invocado quando o valor de algum atributo do nodo ou nodo filho do nodo que está sendo monitorado é alterado (monitoramento recursivo). Parâmetros: node - O objeto nodo onde ocorreu a mudança do do valor. attribute - Cadeia de caracteres contendo o nome do atributo que mudou. oldValue - Antigo valor do atributo. |
| onPersistedChanged | Este evento é invocado quando ocorre uma mudança de valor no servidor de algum atributo do nodo que está sendo monitrado. Parâmetros: node - O objeto nodo onde ocorreu a mudança do do valor no servidor. attribute - Cadeia de caracteres contendo o nome do atributo que mudou. oldValue - Antigo valor de servidor do atributo. Observações: Devido a existência de transações no NodeDatabase e também devido à característica assíncrona do NodeDatabase, o valor dos atributos do NodeDatabases podem, temporariamente, não refletir ao valor salvo no servidor e nem ao valor que os outros usuários remotos tem acesso. Este evento é chamado quando alguma alteração é confirmada no lado do Servidor, persistida e disponibilizada para todos os outros usuários remotos. O valor persistido pode ser obtido através da função NDB.getPersistedAttributeValue() |
| onDeepPersistedChanged | Este evento é invocado quando ocorre uma mudança de valor no servidor de algum atributo do nodoou nodo filho que está sendo monitrado (monitoramento recursivo). Parâmetros: node - O objeto nodo onde ocorreu a mudança do do valor no servidor. attribute - Cadeia de caracteres contendo o nome do atributo que mudou. oldValue - Antigo valor de servidor do atributo. Observações: Devido a existência de transações no NodeDatabase e também devido à característica assíncrona do NodeDatabase, o valor dos atributos do NodeDatabases podem, temporariamente, não refletir ao valor salvo no servidor e nem ao valor que os outros usuários remotos tem acesso. Este evento é chamado quando alguma alteração é confirmada no lado do Servidor, persistida e disponibilizada para todos os outros usuários remotos. O valor persistido pode ser obtido através da função NDB.getPersistedAttributeValue() |
| onUserChanged | Este evento é invocado quando o valor de algum atributo do nodo que está sendo monitorado é alterado porque o usuário local alterou o conteúdo do do campo, seja editando ele visualmente ou através de código Lua. Parâmetros: node - O objeto nodo onde ocorreu a mudança do do valor. attribute - Cadeia de caracteres contendo o nome do atributo que mudou. oldValue - Antigo valor do atributo. Observações: Lembre-se, este evento será disparado apenas quando o usuário local alterar o valor de algum dos campos do nodo monitorado. |
| onDeepUserChanged | Este evento é invocado quando o valor de algum atributo do nodo ou nodo filho que está sendo monitorado é alterado porque o usuário local alterou o conteúdo do do campo, seja editando ele visualmente ou através de código Lua (monitoramento recursivo). Parâmetros: node - O objeto nodo onde ocorreu a mudança do do valor. attribute - Cadeia de caracteres contendo o nome do atributo que mudou. oldValue - Antigo valor do atributo. Observações: Lembre-se, este evento será disparado apenas quando o usuário local alterar o valor de algum dos campos do nodo ou nodo filho monitorado. |
| onDeleted | Este evento é invocado quando o objeto nodo que está sendo monitorado é apagado. Parâmetros: node - O objeto nodo que foi removido. |
| onPermissionListChanged | Este evento é invocado quando definições de permissões de acesso são inseridas ou removidas do objeto nodo que está sendo monitorado. Parâmetros: node - O objeto nodo que sofreu alteração na lista de definições de permissões. |
| onDeepPermissionListChanged | Este evento é invocado quando definições de permissões de acesso são inseridas ou removidas do objeto nodo que está sendo monitorado ou em algum de seus nodos filhos (monitoramento recursivo). Parâmetros: node - O objeto nodo que sofreu alteração na lista de definições de permissões. |
| onFinalPermissionsCouldBeChanged | Este evento é invocado quando as permissões finais de acesso a este nodo podem ter sofrido alterações porque uma permissão em um nodo pai foi removida/inserida e, por consequência, pode ter sido herdada pelo nodo que está sendo monitorado, ou as permissões finais podem ter sofrido alterações porque o usuário mudou de grupo de permissões (Exemplo: O usuário atual virou +mestre). Parâmetros: node - O objeto nodo que pode ter sofrido alteração nas permissões finais. |
| onStateChanged | Este evento é invocado quando o estado de carregamento do node (ver ndb.getState) muda. Parâmetros: node - O objeto nodo que sofreu mudança no estado de carregamento. |
Observações:¶
- Se um NodeObserver não for mais acessível pelo código e for destruído pela coleta de lixos do Lua, os eventos não serão mais disparados.
Exemplos¶
Exemplo 1 - Monitorando um Node "sheet"¶
| self.observer = ndb.newObserver(sheet); self.observer.onChildAdded = function(node) -- Esta função será chamada quando um novo Nodo Filho for criado em sheet end; self.observer.onChildRemoved = function(node) -- Esta função será chamada quando um nodo Filho for removido de sheet end; self.observer.onChanged = function(node, attribute, oldValue) -- Esta função será chamada quando algum atributo de sheet mudar de valor -- attribute possui o nome do atributo que sofreu alteração end; |
|---|
Created with the Personal Edition of HelpNDoc: Effortlessly Create Encrypted, Password-Protected PDFs