Aller au contenu

Init List

Résumé

  • Nom interne : InitList
  • Catégorie : Collections
  • Objectif : Initialiser une variable de workflow à une liste vide ([]).
  • Type de tâche : Normale

Compatibilité

  • Version AndroMate minimale : 1.1.0

  • Version AndroMate maximale : 1.1.0

  • Android minimum : Android 13 (API 33)

  • Android testé maximum : Android 16 (API 36)

  • Fabricants supportés :

    • ✅ Tous les fabricants
  • Permissions requises :

    • Aucune

Description détaillée

La tâche Init List remet une variable de workflow à une ArrayList<String> vide, stockée sous forme de [] dans le contexte d'exécution.

La variable doit être déclarée dans la liste des variables de la tâche Start avant d'utiliser InitList. La tâche ne crée pas de nouvelle variable — elle réinitialise la valeur d'une variable existante.

Cette tâche est typiquement la première étape d'un workflow Collections : déclarer la variable dans Start, appeler InitList pour la vider, puis utiliser ListAdd, ListGet, etc.


Paramètres d'entrée

Paramètre Type Requis Valeurs possibles Compatibilité Android Compatibilité AndroMate Défaut
list_variable_input Référence de variable Oui Variable déclarée commençant par $ Android 13 (API 33) → Android 16 (API 36) 1.1.0 → 1.1.0

Paramètres de sortie

Aucun. La variable référencée par list_variable_input est définie à [] dans le contexte d'exécution.


Exceptions

Code Nom de l'exception Description
COLLECTION-TASK-002 List Variable Name Invalid list_variable_input est vide ou ne commence pas par $. Une référence valide est requise.
WORKFLOW-RUNTIME-002 Variable Not Defined in Runtime La variable n'est pas déclarée dans la tâche Start.

Diagramme d'exécution

flowchart TD
    Start([▶ InitList]) --> ReadInput[📋 Lecture de list_variable_input\nsans résolution]
    ReadInput --> CheckEmpty{Vide ou\npas une réf. variable ?}
    CheckEmpty -->|Oui| E1[❌ COLLECTION-TASK-002]
    CheckEmpty -->|Non| CheckDeclared{Variable déclarée\ndans Start ?}
    CheckDeclared -->|Non| E2[❌ WORKFLOW-RUNTIME-002]
    CheckDeclared -->|Oui| Store["💾 setVariableValue\nvar ← []"]
    Store --> Success([✅ VoidResult])
    E1 --> Error([❌ Exception])
    E2 --> Error

    style Start fill:#e3f2fd
    style Success fill:#c8e6c9
    style Error fill:#ffcdd2
    style Store fill:#c8e6c9
    style E1 fill:#ffcdd2
    style E2 fill:#ffcdd2

Déroulement :

  1. Lecture de list_variable_input : Charge le nom de la variable tel quel — aucune résolution appliquée
  2. Validation : Lève COLLECTION-TASK-002 si vide ou ne commence pas par $
  3. Vérification de la déclaration : Lève WORKFLOW-RUNTIME-002 si la variable n'est pas déclarée dans Start
  4. Stockage : Écrit une ArrayList<String> vide sérialisée en [] dans le contexte d'exécution
  5. Résultat : Retourne VoidResult

Exemple JSON complet

{
  "Start": [{ "id": "0", "title": "Start", "variables": [
    { "variableName": "$maListe", "variableValue": "" }
  ]}],

  "InitList": [
    { "id": "1", "title": "Init Liste", "list_variable_input": "$maListe" }
  ],

  "End": [{ "id": "99", "title": "End" }],

  "Links": [
    { "from": "0", "to": "1" },
    { "from": "1", "to": "99" }
  ]
}