Set Variable
Résumé
- Nom interne :
SetAndromateVariable - Catégorie : Workflow Runtime
- Objectif : Assigner une nouvelle valeur à une variable de workflow existante à l'exécution.
- Type de tâche : Normale
Compatibilité
-
Version minimale AndroMate :
1.1.0 -
Version maximale AndroMate :
1.1.0 -
Android minimum :
Android 13 (API 33) -
Android maximum testé :
Android 16 (API 36) -
Constructeurs supportés :
- ✅ Tous les constructeurs
-
Permissions requises :
- Aucune
Description détaillée
La tâche Set Variable met à jour la valeur d'une variable de workflow pendant l'exécution. Elle permet la modification dynamique de toute variable déclarée dans le nœud Start.
Elle est utilisée pour :
- Réinitialiser une variable à une valeur fixe ou calculée
- Copier la valeur d'une variable dans une autre
- Mettre à jour un compteur ou accumulateur entre des itérations
- Remplacer une valeur initiale selon le résultat d'une condition
La tâche gère :
- la validation que la cible est une variable correctement déclarée,
- la résolution de la nouvelle valeur dans le contexte d'exécution courant (les références
$variablesont remplacées par leurs valeurs actuelles), - la mise à jour de la variable dans l'
AndroMateContextpartagé.
Paramètres d'entrée
| Paramètre | Type | Obligatoire | Valeurs possibles | Compatibilité Android | Compatibilité AndroMate | Défaut |
|---|---|---|---|---|---|---|
variable_input |
String | Oui | Nom d'une variable déclarée commençant par $ |
Android 13 (API 33) → Android 16 (API 36) | 1.1.0 → 1.1.0 | — |
variable_value |
String | Oui | Toute chaîne de caractères, peut contenir des références $variable |
Android 13 (API 33) → Android 16 (API 36) | 1.1.0 → 1.1.0 | "" |
Paramètres de sortie
La tâche Set Variable ne produit aucune sortie. Elle modifie directement le contexte d'exécution et retourne immédiatement.
Exceptions
| Code | Nom de l'exception | Description |
|---|---|---|
WORKFLOW-RUNTIME-001 |
Variable d'entrée vide | variable_input est vide ou null. Un nom de variable valide commençant par $ est requis. |
WORKFLOW-RUNTIME-002 |
Entrée non-variable | variable_input ne commence pas par $. Seules les variables déclarées peuvent être ciblées. |
WORKFLOW-RUNTIME-002 |
Variable non déclarée dans le runtime | La variable référencée dans variable_input n'a pas été déclarée dans le nœud Start. Déclarez-la d'abord. |
Diagramme d'exécution
flowchart TD
Start([Démarrer SetVariableTask]) --> ReadInput[📋 Lire variable_input\nsans résolution de variable]
ReadInput --> CheckEmpty{variable_input\nvide ou null ?}
CheckEmpty -->|Oui| E1[❌ WORKFLOW-RUNTIME-001\nSET_EMPTY_VARIABLE]
CheckEmpty -->|Non| CheckIsVar{variable_input\ncommence par $ ?}
CheckIsVar -->|Non| E2[❌ WORKFLOW-RUNTIME-002\nSET_NON_VARIABLE]
CheckIsVar -->|Oui| CheckDeclared{variable déclarée\ndans le contexte runtime ?}
CheckDeclared -->|Non| E3[❌ WORKFLOW-RUNTIME-002\nNO_VARIABLE_DEFINED_IN_RUNTIME]
CheckDeclared -->|Oui| ResolveValue[🔄 Résoudre variable_value\nremplacer les $refs par leurs valeurs]
ResolveValue --> SetValue[💾 androMateContext.setVariableValue\nvariable_input ← valeur résolue]
SetValue --> Success([✅ VoidResult\nVariable mise à jour])
E1 --> Error([❌ Exception])
E2 --> Error
E3 --> Error
style Start fill:#e3f2fd
style Success fill:#c8e6c9
style Error fill:#ffcdd2
style ResolveValue fill:#fff9c4
style SetValue fill:#c8e6c9
style E1 fill:#ffcdd2
style E2 fill:#ffcdd2
style E3 fill:#ffcdd2
Comment ça fonctionne :
- Lire
variable_input: Charge le nom de la variable cible comme chaîne littérale — aucune résolution de variable n'est appliquée à ce stade - Vérification vide : Lève
WORKFLOW-RUNTIME-001si l'entrée est vide ou null - Vérification du format variable : Lève
WORKFLOW-RUNTIME-002si l'entrée ne commence pas par$ - Vérification de déclaration : Lève
WORKFLOW-RUNTIME-002si la variable n'a pas été déclarée dans le nœud Start - Résoudre
variable_value: Évalue la nouvelle valeur — toute référence$variableà l'intérieur est remplacée par sa valeur runtime courante - Mise à jour du contexte : Écrit la valeur résolue dans l'
AndroMateContextpour la variable cible - Résultat : Retourne
VoidResult— la variable est désormais mise à jour pour toutes les tâches suivantes
Légende : - 🔵 Bleu : Début - 🟢 Vert : Succès - 🔴 Rouge : Exceptions - 🟡 Jaune : Résolution - 💾 Vert : Mise à jour du contexte
Détails des paramètres d'entrée
1. Paramètre d'entrée : variable_input
Le nom de la variable à mettre à jour. Doit être une variable déclarée dans le nœud Start.
Exemple
Détails
- Doit commencer par
$. - La valeur est lue telle quelle — aucune résolution de variable n'est appliquée à ce champ. Vous devez écrire le nom de variable littéral (ex.
$resultat), pas une référence à une autre variable qui contiendrait un nom. - La variable doit avoir été déclarée dans le tableau
variablesdu nœud Start.
2. Paramètre d'entrée : variable_value
La nouvelle valeur à assigner à la variable. Peut être une chaîne statique ou contenir des références à d'autres $variables.
Exemple — valeur statique
Exemple — copie depuis une autre variable
Exemple — mixte
Détails
- Les références de variables (
$nom) dans ce champ sont résolues à l'exécution avant l'assignation. - La valeur résolue est toujours stockée sous forme de chaîne dans le contexte.