Output

L'élement XML output permet de décrire le comportement du bouton Finish du wizard page. Output vous permet de :

  • gérer des fichiers à l'aide de l'élement file autrement dit générer ou mettre à jour des fichiers à partir d'un wizard page Eclipse.
  • lancer une commande à l'aide de l'élement command pour construire un projet (WEB,Struts,...). Avec cet élement vous pouvez par exemple lancer une target Ant à partir d'un wizard page Eclipse.

Ces comportement sont définis à l'intérieurs de l'élement ouput :

<component>
    ...
  <!-- Output page -->
  <output>
    <!-- Sequence of file -->
    <!-- Sequence of command -->    
  </output>
</component>

L'élement XML output supporte des séquences de file et command. Une séquence de file permet par exemple de générer, mettre à jour plusieurs fichiers à travers un wizard page. Pour plus d'information, veuillez vous reporter à la section Multiple output.

file

Les eléments file doivent être inclus dans l'élement ouput.

<component>
    ...
  <!-- Output page -->
  <output>
    <file>
      ...
    </file>  
    ...
  </output>
</component>

Ils permettent de :

Attributs de file

Nom attributDescriptionObligatoire ?
keyfait référence à une key d'un modèle. Cet attribut est utilisé lorsque il doit y avoir mise à jour d'un fichier.Non
conditionAppel d'une fonction javascript qui retourne true si la génération de code doit être effectuée et false sinon.Non
outputBaseDirID du contrôle XUL qui définit le répertoire de sortie (utilisé dans le cas de la génération d'un fichier). Par défaut cet attribut à la valeur outputBaseDir.Non
outputFileNameID du contrôle XUL qui définit le nom du fichier à générer (utilisé dans le cas de la génération d'un fichier). Par défaut cet attribut à la valeur outputFileName.Non
appendCet attribut fonctionne si key est renseigné. Vaut true si le contenu généré par le template doit être ajouté dans le fichier (renseigné par key).Non

command

Les eléments command doivent être inclus dans l'élement ouput.

<component>
    ...
  <!-- Output page -->
  <output>
    <command>
      ...
    </command>  
    ...
  </output>
</component>

Pour plus d'information, veuillez vous référer à la section Command.

Multiple output

La section output peut contenir autant de file et command que vous souhaitez. Il est ainsi possible de génerer plusieurs fichiers au sein d'un même wizard page.

Mutltiple file generation

Dans le cas de la génération de plusieurs fichiers, le répertoire de sortie et le nom du fichier à générer doivent être distinct. Pour cela vous devez utilisez les attributs outputBaseDir et outputFileName pour distinguer le répertoire de sortie et le nom du fichier à générer entre les différents file :

<output>
  <file>
    <template uri="/ftl/Xul/Textbox.ftl" />
  </file>
  <file outputBaseDir="outputBaseDir2" 
        outputFileName="outputFileName2">
      <template uri="/ftl/Xul/Textbox.ftl" />
  </file>               
</output>  

Dans l'exemple ci dessus, le répertoire de sortie et le nom du premier fichier à générer utilisera les valeurs des textbox d'ID outputBaseDir et outputFileName. Le répertoire de sortie et le nom du deuxième fichier à générer utilisera les valeurs des textbox d'ID outputBaseDir2 et outputFileName2.

Output with condition

Il est possible d'affecter une condition au lancement de la génération de code, de la mise à jour de fichier. Cette condition peut être géré à l'aide d'un script.

Par exemple il est possible de mettre une case à cocher pour indiquer à l'utilisateur si il souhaite lancer la génération de code d'un fichier :

Pour cela, après avoir définit la case à à cocher d'ID checkoxParam :

<checkbox id="checkoxParam" flex="1" 
          checked="true" label="must launch file generation?" />  

Vous devez affecter une condition sur l'élement file :

<output>
  <file condition="javascript:mustLaunchFileGeneration();">
    <template uri="/ftl/Xul/Textbox.ftl" />
  </file>
</output> 

L'attribut condition fait appel à la fonction javascript mustLaunchFileGeneration :

<script type="text/javascript" >
  function mustLaunchFileGeneration() {
    var /* checkbox */ checkoxParam = document.getElementById('checkoxParam');
    return checkoxParam.checked;
  }
</script>

Cette fonction javascript retourne true si la case à cocher d'ID checkoxParam est cochée (la génération s'effectuera) et false sinon (la génération de code ne s'effectuera pas).