Pular para conteúdo

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