Al utilizar una interfaz de tipo JavaObject, a menudo es necesario acceder a un método estático que crea un objeto durante la ejecución. Este requisito se debe a que la tecnología de interfaces EGL no permite crear instancias de un objeto Java desde el código EGL.
package myInterfaces; Interface HelloWorld type JavaObject {javaName = "HelloWorld", packageName = "com.ibm.examples.helloWorld"} function sayHello(name String) returns (String); End
package com.ibm.examples.helloWorld; class HelloWorld { // constructor de clases Java public HelloWorld() { } // implementación de la función // a la que se hace referencia en la interfaz public String sayHello(String name) { return "Hello " + name; } }
package myInterfaces; Interface HelloWorldFactory {javaName = "HelloWorldFactory", packageName = "com.ibm.examples.helloWorld"} static function createHelloWorld() returns (HelloWorld); End
package com.ibm.examples.helloWorld; class HelloWorldFactory { // constructor de clases Java public HelloWorldFactory() { } // implementación de la función // a la que se hace referencia en la interfaz public static HelloWorld createHelloWorld() { return new HelloWorld; } }
package myDriver; import myInterfaces.*; program myProgram { } function myFunction() echo STRING; // crear una variable de tipo HelloWorld; // esta variable de referencia señala a NIL hwVar HellowWorld; // asignar un objeto Java a la variable hwVar = HelloWorldFactory.createHelloWorld(); // acceder a cualquier método Java que se encuentre // en el objeto de tipo HelloWorld // y tenga una descripción // de función correspondiente // en el componente de interfaz EGL echo = hwVar.sayHello("John Doe"); End End
Si está escribiendo un pageHandler que interactúa con el árbol de componentes JSF, creará variables basadas en un componentes de interfaz EGL; sin embargo, no le preocupará la creación de objetos, ya que EGL maneja la cuestión durante la ejecución. Para tener una visón general, consulte la sección Árbol de componentes JSF.
Conceptos relacionados
Interfaces EGL
Árbol de componentes JSF
Tareas relacionadas
Crear un componente de interfaz de EGL
Consulta relacionada
Componente de interfaz en formato fuente EGL
Interfaces de tipo JavaObject