Expresiones y sintaxis del nodo Logic
Fundamentos de expresiones
El nodo Logic utiliza Lenguaje de Expresión IoT Logic de Navixy, que se basa en Java Expression Language (JEXL). Todas las expresiones deben devolver un valor booleano (verdadero/falso) para el funcionamiento adecuado 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:
condicion1 && (condicion2 || condicion3 > condicion4)
Operadores disponibles
Operadores de comparación
Operador | Descripción |
|---|---|
| Verifica si dos operandos son iguales. Si los operandos son de diferentes tipos, JEXL los convierte a uno si es posible |
| Verifica la desigualdad de dos operandos. Devuelve verdadero si los operandos no son iguales |
| Verifica que el operando izquierdo sea menor que el operando derecho |
| Verifica que el operando izquierdo sea menor o igual al operando derecho |
| Verifica que el operando izquierdo sea mayor que el operando derecho |
| Verifica que el operando izquierdo sea mayor o igual al operando derecho |
Operadores lógicos
Operador | Descripción |
|---|---|
| Y lógico - verifica si dos condiciones son verdaderas. Devuelve verdadero si ambas condiciones son verdaderas |
| O lógico - verifica la veracidad de al menos una de las dos condiciones |
| NO lógico - convierte el resultado de la condición al valor opuesto |
Operadores de coincidencia de patrones
Operador | Descripción |
|---|---|
| Verifica si el valor del operando izquierdo está en el conjunto del operando derecho. Para cadenas, verifica la coincidencia de patrón regex |
| Verifica si el valor del operando izquierdo no está en el conjunto del operando derecho. Para cadenas, verifica la no coincidencia de patrón regex |
| Verifica que el operando de cadena izquierdo comience con el operando de cadena derecho |
| Verifica que el operando de cadena izquierdo no comience con el operando de cadena derecho |
| Verifica que el operando de cadena izquierdo termine con el operando de cadena derecho |
| Verifica que el operando de cadena izquierdo no termine con el operando de cadena derecho |
Ejemplos de expresiones
Escenarios de manejo de errores
Escenario | Resultado | Ruta de flujo | Valor del atributo |
|---|---|---|---|
La expresión se evalúa como | Éxito | Conexión THEN |
|
La expresión se evalúa como | Éxito | Conexión ELSE |
|
El atributo referenciado es | Tratado como | Conexión ELSE |
|
Error de sintaxis en la expresión | Tratado como | Conexión ELSE |
|
El atributo referenciado no existe | Tratado como | Conexión ELSE |
|