Objeto NodeObserver

.html ›› .html ›› .html ››
Parent Previous Next

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:


onChildRemoved

Este evento é invocado quando um objeto nodo filho é deletado do nodo que está sendo monitorado.


Parâmetros:


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:


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:


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:


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:


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