Ajout de variables globales

Décrit comment ajouter des variables globales.

A propos de cette tâche

Vous pouvez utiliser le plug-in ilog.rules.studio.javascript conjointement avec Eclipse pour automatiser des tâches sur un espace de travail préconfiguré ou un dossier contenant les projets de règles.

L'exemple suivant montre comment ajouter une variable globale nommée out afin de remplacer l'appel entièrement qualifié suivant :

java.lang.System.out.println(<text message>);

Procédure

Pour ajouter des variables globales :

  1. Dans le menu Fichier , cliquez sur Nouveau > Projet.
  2. Sous la catégorie Développement de plug-in , sélectionnez Projet de plug-in , puis cliquez sur Suivant.
  3. Dans la zone nom du projet , entrez un nom, puis cliquez sur Suivant.
  4. Cliquez sur Terminer.
  5. Cliquez sur Oui pour ouvrir la perspective Développement de plug-in.
  6. Cliquez sur l'onglet Dépendances et, sous Plug-ins requis , cliquez sur Ajouter.
  7. Ajoutez ilog.rules.studio.eclipsemonkey aux dépendances.
  8. Cliquez sur l'onglet Points d'extension, puis sur Ajouter.
  9. Dans les zones ID du point d'extension et Nom du point d'extension , entrez ilog.rules.studio.eclipsemonkey.dom , puis cliquez sur Terminer.
  10. Cliquez sur l'onglet plugin.xml et saisissez le texte suivant :
    <extension point="ilog.rules.studio.eclipsemonkey.dom">
       <dom
          class="javascriptsystem.dom.SystemOutDOMFactory"
          name="System.out"
          variableName="out"/>
    </extension>
    

    L'extension déclare la fabrique qui crée l'instance Java™ sur laquelle les appels de méthode JavaScript sont transférés lorsqu'ils sont utilisés avec la variable out .

Résultats

L'onglet Extensions de plug-in inclut à présent le nouveau projet de plug-in :

Onglet Extensions de plug-in

Vous devez maintenant ajouter l'implémentation de la fabrique. Les fabriques contiennent une seule méthode nommée getDOMroot. Cette méthode crée l'instance Java de la classe à laquelle les appels de méthode sont transférés.

L'exemple SystemOutDOMFactory suivant retourne des instances statiques de System.out :

package javascriptsystem.dom;

import ilog.rules.studio.eclipsemonkey.dom.IMonkeyDOMFactory;

public class SystemOutDOMFactory implements IMonkeyDOMFactory {
  public Object getDOMroot() {
    return System.out;
  }
}

En ajoutant cette variable globale, vous simplifiez chaque commande d'impression dans le flux de sortie standard. Vous pouvez aussi créer un objet plus complexe, fournissant des méthodes telles que la mise en forme des messages texte avec des paramètres, comme dans l'exemple suivant :

function main() {
    // instead of java.lang.System.out.println("my message");
    out.println("my message");
}