Adición de variables globales

Describe cómo añadir una variable global.

Acerca de esta tarea

Puede utilizar el plug-in ilog.rules.studio.javascript junto con Eclipse para automatizar tareas en un espacio de trabajo preconfigurado o una carpeta que contenga los proyectos de reglas.

El ejemplo siguiente muestra cómo añadir una variable global denominada out para sustituir una llamada completa a:

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

Procedimiento

Para añadir variables globales:

  1. En el menú Archivo , pulse Nuevo > Proyecto.
  2. En la categoría Desarrollo de plug-ins , seleccione Proyecto de plug-ins y, a continuación, pulse Siguiente.
  3. En el campo nombre de proyecto , especifique un nombre y, a continuación, pulse Siguiente.
  4. Pulse Finalizar.
  5. Pulse para abrir la perspectiva Desarrollo de plug-ins.
  6. Pulse la pestaña Dependencias y, en Plug-ins necesarios , pulse Añadir.
  7. Añada ilog.rules.studio.eclipsemonkey a las dependencias.
  8. Pulse la pestaña Puntos de extensión y, a continuación, pulse Añadir.
  9. En los campos ID de punto de extensión y Nombre de punto de extensión , especifique ilog.rules.studio.eclipsemonkey.dom y, a continuación, pulse Finalizar.
  10. Pulse el separador plugin.xml y, a continuación, especifique el texto siguiente:
    <extension point="ilog.rules.studio.eclipsemonkey.dom">
       <dom
          class="javascriptsystem.dom.SystemOutDOMFactory"
          name="System.out"
          variableName="out"/>
    </extension>
    

    La extensión declara la fábrica que crea la instancia de Java™ en la que se reenvían las llamadas al método JavaScript cuando se utiliza con la variable out .

Resultados

La pestaña Extensiones de plug-in ahora incluye el nuevo proyecto de plug-in:

Separador Extensiones de plug-in

Ahora debe añadir la implementación de la fábrica. Las fábricas contienen un único método denominado getDOMroot. Este método crea la instancia Java de la clase a la que se reenvían las llamadas de método.

El siguiente ejemplo de SystemOutDOMFactory devuelve instancias estáticas de System.out :

package javascriptsystem.dom;

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

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

Al añadir esta variable global, simplifica cada mandato de impresión a la salida estándar. También puede crear un objeto más complejo que proporcione métodos como, por ejemplo, formatear mensajes de texto con parámetros, tal como se muestra en el ejemplo siguiente:

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