Argomento precedente: Parametri di outputArgomento successivo: Risorsa per eseguire l'esempio di operatore Richiama Java


Esempio di Java

L'esempio seguente si trova nella sezione Esempi del campo Metodo principale richiesto.

/*
Il metodo principale viene utilizzato per richiamare gli oggetti e i metodi definiti nel Java SDK o nei file JAR esterni.
Il metodo principale è costituito da istruzioni ed espressioni Java normali.
Inoltre, è possibile:
- Definire i propri metodi e utilizzarli all'interno del metodo principale
- Passare i parametri di input al metodo principale
- Salvare le variabili di output nel set di dati dell'operatore alla fine dell'esecuzione del metodo principale
- Utilizzare un oggetto del logger nel metodo principale

In genere tutte le definizioni di classe vengono completate nei file JAR esterni ed elencate nei percorsi dei file JAR esterni dell'operatore, quindi tali oggetti vengono avviati e utilizzati nel metodo principale.
*/

/*
Segue un esempio delle modalità di avvio e utilizzo di un oggetto MyAccount, che è definito in un file JAR esterno.
Configurazione operatore:
1. Specificare il percorso: 
Invoke_Java_Op_Example_Jars/MyAccount.jar nell'elenco dell'operatore dei percorsi JAR esterni. MyAccount.jar contiene la classe di ca.tech.pam.MyAccount, che viene utilizzata nel codice seguente. Durante l'installazione di CA Process Automation, MyAccount.jar viene caricato come una risorsa utente.
2. Specificare una variabile del set di dati del tipo Data come il primo oggetto nell'elenco dei parametri di input dell'operatore. 
    È possibile accedere a questo parametro nel metodo principale come args[0].
3. Specificare una variabile del set di dati del tipo Numero intero e valore 100 come il secondo oggetto nell'elenco dei parametri di input dell'operatore. 
    È possibile accedere a questo parametro nel metodo principale come args[1].
4. Specificare il nome variabile acct (senza virgolette) come il primo oggetto nell'elenco Nomi variabile di output dell'operatore.
    acct viene creato nel metodo principale come oggetto MyAccount, pertanto al completamento dell'esecuzione dell'operatore, acct viene salvato nel set di dati dell'operatore come variabile di tipo JavaObject.
5. Configurare l'operatore in modo che utilizzi un logger, impostare le opzioni Percorso file di log su un percorso file locale, Livello log su Informazioni, Aggiungere al file di log? su False e Registrare i dati senza informazioni di registrazione? su True.
*/

// Import the classes that you want to use
import ca.tech.pam.MyAccount;

// Note: no need to import StringBuffer and Date (used below) because they are part of the
// automatically imported packages (full list of these packages is provided in the documentation)
// import java.lang.StringBuffer;
// import java.util.Date;

// Initialize MyAccount object
// Note that the MyAccount constructor is defined in the external jar as:
// public MyAccount(Date date, int balance)
MyAccount acct = new MyAccount(args[0], args[1]);

// Use the public methods of the MyAccount object
// Note that addFunds is defined in the external jar as:
// public int addFunds (int amnt)
acct.addFunds(34);

// Note that subFunds is defined in the external jar as: 
// public int subFunds (int amnt)
acct.subFunds(10);

// Define your own method
String getStatement(MyAccount acc) {
    StringBuffer strBuff = new StringBuffer("Account Balance: " + acc.getBalance());
    Date dt = new Date(System.currentTimeMillis());
    strBuff.append(" on date: " + dt);
    return strBuff.toString();
}

// Use the method you defined and also print the statement using the 'logger' object that you
// setup in the 'Logger' page of the operator
logger.info(getStatement(acct));

// At the end of execution of the operator:
// acct will be saved in the operator's dataset as a variable of type JavaObject.
// The logger's log file will contain the message:
// 	Account Balance: 124 on date: Thu Aug 22 11:27:29 EDT 2013
// 	(The message includes the correct date and time of execution).