Expressões e sintaxe do nó de lógica
Fundamentos de expressão
O nó Logic usa o Navixy IoT Logic Expression Language, que é baseado em Java Expression Language (JEXL). Todas as expressões devem retornar um valor booleano (true/false) para o correto funcionamento do nó.
Avaliação de expressões: As expressões são avaliadas da esquerda para a direita, e você pode usar parênteses para controlar a ordem das operações.
Exemplo de sintaxe básica:
condition1 && (condition2 || condition3 > condition4)Operadores disponíveis
Operadores de comparação
==
Verifica se dois operandos são iguais. Se os operandos forem de tipos diferentes, o JEXL os converte para um tipo comum se possível
!=
Verifica a desigualdade entre dois operandos. Retorna true se os operandos não são iguais
<
Verifica se o operando esquerdo é menor que o operando direito
<=
Verifica se o operando esquerdo é menor ou igual ao operando direito
>
Verifica se o operando esquerdo é maior que o operando direito
>=
Verifica se o operando esquerdo é maior ou igual ao operando direito
Operadores lógicos
&& ou e na
Logical AND - verifica se duas condições são verdadeiras. Retorna true se ambas as condições forem verdadeiras
| ou ou
Logical OR - verifica a veracidade de pelo menos uma das duas condições
! ou não
Logical NOT - converte o resultado da condição para o valor oposto
Operadores de correspondência de padrão
=~
Verifica se o valor do operando esquerdo está no conjunto do operando direito. Para strings, verifica correspondência por regex
!~
Verifica se o valor do operando esquerdo não está no conjunto do operando direito. Para strings, verifica não correspondência por regex
=^
Verifica que o operando string esquerdo começa com o operando string direito
!^
Verifica que o operando string esquerdo não começa com o operando string direito
=$
Verifica que o operando string esquerdo termina com o operando string direito
!$
Verifica que o operando string esquerdo não termina com o operando string direito
Exemplos de expressões
Cenários de tratamento de erros
A expressão avalia para true
Sucesso
Conexão THEN
true
A expressão avalia para false
Sucesso
Conexão ELSE
false
O atributo referenciado é null
Tratado como false
Conexão ELSE
false
Erro de sintaxe na expressão
Tratado como false
Conexão ELSE
null
O atributo referenciado não existe
Tratado como false
Conexão ELSE
null
Exemplos práticos de implementação
Atualizado
Isto foi útil?