Expresiones y sintaxis del nodo de lógica
Fundamentos de expresiones
El nodo Lógica utiliza el Navixy IoT Logic Expression Language, que se basa en Java Expression Language (JEXL). Todas las expresiones deben devolver un valor booleano (true/false) para el correcto funcionamiento del nodo.
Evaluación de expresiones: Las expresiones se evalúan de izquierda a derecha, y puede usar paréntesis para controlar el orden de las operaciones.
Ejemplo de sintaxis básica:
condition1 && (condition2 || condition3 > condition4)Operadores disponibles
Operadores de comparación
==
Comprueba si dos operandos son iguales. Si los operandos son de tipos diferentes, JEXL los convierte a uno si es posible
!=
Comprueba la desigualdad de dos operandos. Devuelve true si los operandos no son iguales
<
Comprueba que el operando izquierdo sea menor que el operando derecho
<=
Comprueba que el operando izquierdo sea menor o igual que el operando derecho
>
Comprueba que el operando izquierdo sea mayor que el operando derecho
>=
Comprueba que el operando izquierdo sea mayor o igual que el operando derecho
Operadores lógicos
&& o y
AND lógico: comprueba si dos condiciones son verdaderas. Devuelve true si ambas condiciones son verdaderas
| o o
OR lógico: comprueba la veracidad de al menos una de las dos condiciones
! o no
NOT lógico: convierte el resultado de la condición al valor opuesto
Operadores de coincidencia de patrones
=~
Comprueba si el valor del operando izquierdo está en el conjunto del operando derecho. Para cadenas, comprueba la coincidencia con una expresión regular
!~
Comprueba si el valor del operando izquierdo no está en el conjunto del operando derecho. Para cadenas, comprueba la no coincidencia con una expresión regular
=^
Comprueba que la cadena del operando izquierdo comience con la cadena del operando derecho
!^
Comprueba que la cadena del operando izquierdo no comience con la cadena del operando derecho
=$
Comprueba que la cadena del operando izquierdo termine con la cadena del operando derecho
!$
Comprueba que la cadena del operando izquierdo no termine con la cadena del operando derecho
Ejemplos de expresiones
Escenarios de manejo de errores
La expresión evalúa a true
Éxito
conexión THEN
true
La expresión evalúa a false
Éxito
conexión ELSE
false
El atributo referenciado es null
Tratado como false
conexión ELSE
false
Error de sintaxis en la expresión
Tratado como false
conexión ELSE
null
El atributo referenciado no existe
Tratado como false
conexión ELSE
null
Ejemplos de implementación práctica
Última actualización
¿Te fue útil?