Tema anterior: Parámetros de salidaTema siguiente: Recurso para ejecutar el ejemplo de operador Invocar Java


Ejemplo de Java

El siguiente ejemplo se encuentra en la sección de ejemplos del campo Método principal obligatorio.

/*
El método principal se utiliza para invocar objetos y métodos definidos en el SDK de Java o en los archivos JAR externos.
El método principal consta de declaraciones Java normales y expresiones.
También puede:
- Defina métodos propios y utilícelos en el método principal.
- Transfiera parámetros de entrada al método principal.
- Guarde variables de salida en el conjunto de datos del operador al final de la ejecución del método principal.
- Utilice un objeto de registrador en el método principal.

Normalmente, se completan todas las definiciones de clases en archivos JAR externos y se muestran en las rutas de archivos JAR externos del operador; a continuación, se inician y utiliza estos objetos en el método principal.
*/

/*
A continuación, se incluye un ejemplo sobre cómo iniciar y utilizar un objeto MyAccount, que se define en un archivo JAR externo.
Configuración de operador:
1. Especifique la ruta: 
"Invoke_Java_Op_Example_Jars/MyAccount.jar" en la lista de rutas de archivos JAR externos del operador. MyAccount.jar contiene la clase ca.tech.pam.MyAccount, que se utiliza en el siguiente código. Durante la instalación de CA Process Automation, MyAccount.jar se carga como un recurso de usuario.
2. Especifique una variable del conjunto de datos del tipo Fecha como el primer objeto de la lista de parámetros de entrada del operador. 
    Se puede acceder a este parámetro en el método principal como args[0].
3. Especifique una variable del conjunto de datos del tipo Entero y el valor 100 como el segundo objeto de la lista de parámetros de entrada del operador. 
    Se puede acceder a este parámetro en el método principal como args[1].
4. Especifique el nombre de variable acct (sin comillas) como el primer objeto en la lista de nombres de variables de salida del operador.
    Se crea acct en el método principal como un objeto MyAccount; por consiguiente, al final de la ejecución del operador, se guardará acct en el conjunto de datos del operador como una variable del tipo JavaObject.
5. Configure el operador para usar un registrador, establezca Ruta del archivo de registro en una ruta de archivo local, Nivel de registro en Información, ¿Añadir al archivo de registro? como falso y ¿Registrar datos sin entrar información? como verdadero.
*/

// Importar las clases que desea utilizar
importar ca.tech.pam.MyAccount;

// Nota: No es preciso importar StringBuffer y Fecha (utilizados a continuación) porque forman parte de los 
// paquetes importados automáticamente (se proporciona una lista completa de estos paquetes en la documentación)
// importar java.lang.StringBuffer;
// importar java.util.Date;

// Inicialice el objeto MyAccount
// Tenga en cuenta que el constructor de MyAccount se define en el archivo JAR externo como:
// public MyAccount(Date date, int balance)
MyAccount acct = new MyAccount(args[0], args[1]);

// Utilizar los métodos públicos del objeto MyAccount
// Tener en cuenta que addFunds se define en el archivo JAR externo como:
// public int addFunds (int amnt)
acct.addFunds(34);

// Tener en cuenta que subFunds se define en el archivo JAR externo como: 
// public int subFunds (int amnt)
acct.subFunds(10);

// Definir su propio método
Cadena getStatement(MyAccount acc) {
    StringBuffer strBuff = nuevo StringBuffer("Balance de cuenta: " + acc.getBalance());
    Fecha dt = nuevo Date(System.currentTimeMillis());
    strBuff.append(" en fecha: " + dt);
    devolver strBuff.toString();
}

// Utilice el método definido e imprima también la declaración mediante el objeto "logger" que
// configure en la página de registrador del operador 
logger.info(getStatement(acct));

// Al final de la ejecución del operador ocurrirá lo siguiente:
// acct se guardará en el conjunto de datos del operador como una variable del tipo JavaObject.
// El archivo de registro del registrador incluirá este mensaje:
// 	Account Balance: 124 on date: Thu Aug 22 11:27:29 EDT 2013
// 	(El mensaje incluye la fecha y la hora de ejecución correctas).