La chiamata per l'ambiente di linguaggio applet viene specificata tramite una chiamata di funzione di Net.Data. Per la chiamata di funzione non è necessaria alcuna dichiarazione. Utilizzare la sintassi che segue per la chiamata di funzione:
@DTWA_Nomeapplet(parm1, parm2, ..., parmN)
Per scrivere un file della macro che genera le tag dell'applet:
%define{
DATABASE = "celdial" <=variabile di Net.Data: nome del database
MyGraph.codebase = "/netdata-java/" <=Parametro applet obbligatorio
MyGraph.height = "200" <=Parametro applet obbligatorio
MyGraph.width = "400" <=Parametro applet obbligatorio
MyTitle = "This is my Title" <=Variabile di Net.Data: nome della pagina Web
MyTable = %TABLE(all) <=Tabella in cui memorizzare i risultati dell'interrogazione
%}
%FUNCTION(DTW_SQL) mySQL(OUT table){
select name, ages from ibmuser.guests
%}
Ad esempio:
%HTML(report){ <=Avvio del blocco HTML
mySQL(MyTable) <=Una chiamata per la funzione SQL
mySQL
@DTWA_MyGraph( MyTitle, DTW_COLUMN(ages) MyTable) <=Chiamata per la funzione applet
%}
E' possibile specificare gli attributi delle tag dell'applet in un punto qualsiasi della macro di Net.Data. Net.Data sostituisce tutte le variabili di formato AppletName.attribute nella tag dell'applet come attributi. La sintassi per la definizione di un attributo su una tag di applet è la seguente:
%define AppletName.attribute = "value"
Gli attributi obbligatori per tutte le applet sono:
Ad esempio, se l'applet viene chiamata MyGraph, è possibile definire questi attributi obbligatori nel modo seguente:
%DEFINE{
MyGraph.codebase = "/netdata-java/"
MyGraph.height = "200"
MyGraph.width = "400"
%}
Non è necessario che l'assegnazione sia presente in una sezione DEFINE. E' possibile impostare il valore con la funzione DTW_ASSIGN. Se non viene definita alcuna variabile per NomeApplet.code, Net.Data aggiunge un parametro code predefinito per la tag dell'applet. Il valore del parametro code è NomeApplet.class, in cui NomeApplet è il nome dell'applet.
Nella chiamata di funzione è necessario definire un elenco di parametri da trasferire all'ambiente di linguaggio dell'applet di Java. E' possibile trasferire i parametri che comprendono:
Quando viene trasferito un parametro, Net.Data crea una tag PARAM dell'applet di Java nell'emissione HTML con il nome e il valore assegnato al parametro. Non è possibile trasferire le costanti di stringa o i risultati delle chiamate di funzione.
E' possibile utilizzare le variabili di Net.Data come parametri. Se viene definita una variabile nel blocco DEFINE della macro e il valore della variabile viene trasferito nella chiamata di funzione DTWA_NomeApplet, Net.Data genera una tag PARAM che ha lo stesso nome e lo stesso valore della variabile. Ad esempio, nel caso della seguente istruzione macro:
%define{
...
MyTitle = "This is my Title"
%}
%HTML (report){
@DTWA_MyGraph( MyTitle, ...)
%}
Net.Data fornisce la seguente tag PARAM dell'applet:
<param name = 'MyTitle' value = "This is my Title" >
Net.Data genera automaticamente una tag PARAM con il nome DTW_NUMBER_OF_TABLES ogni volta che viene chiamato l'ambiente di linguaggio applet di Java, specificando se la chiamata di funzione ha trasferito variabili di tabella. Il valore è il numero delle variabili di tabella che Net.Data utilizza nella funzione. Se non vengono specificate variabili di tabella nella chiamata di funzione, viene generata la tag che segue:
<param name = "DTW_NUMBER_OF_TABLES" value = "0" >
E' possibile trasferire sulla chiamata di funzione una o più variabili di tabella di Net.Data come parametri. Se viene specificata una variabile di tabella di Net.Data su una chiamata di funzione DTWA_NomeApplet, Net.Data genera le seguenti tag PARAM:
Questa tag specifica i nomi delle tabelle da trasferire. La tag presenta la seguente sintassi:
<param name = 'DTW_TABLE_i_NAME' value = "tname" >
In cui i è il numero della tabella basato sull'ordinamento della chiamata di funzione e tname è il nome della tabella.
Le tag PARAM vengono generate per specificare il numero di righe e di colonne di una particolare tabella: La tag presenta la seguente sintassi:
<param name = 'DTW_tname_NUMBER_OF_ROWS' value = "righe" > <param name = 'DTW_tname_NUMBER_OF_COLUMNS' value = "col" >
In cui il nome della tabella è tname, righe è il numero di righe della tabella e col è il numero di colonne della tabella. Questa coppia di tag viene generata per ogni tabella univoca specificata nella chiamata di funzione.
Questa tag PARAM specifica il nome colonna di una colonna particolare. La tag presenta la seguente sintassi:
<param name = 'DTW_tname_COLUMN_NAME_j' value = "cname" >
In cui il nome della tabella è tname, j è il numero della colonna e cname è il nome della colonna.
Questa tag PARAM specifica i valori su una riga e colonna particolari. La tag presenta la seguente sintassi:
<param name = 'DTW_tname_cname_VALUE_k' value = "val" >
In cui il nome tabella è tname, cname è il nome colonna, k è il numero riga e val è il valore che corrisponde al valore della riga e della colonna corrispondenti.
E' possibile trasferire una colonna di una tabella come un parametro su una chiamata di funzione per generare le tag per una colonna specifica. Net.Data genera le tag dell'applet corrispondenti solo per la colonna specificata. Un parametro della colonna della tabella utilizza la seguente sintassi:
@DTWA_AppletName(DTW_COLUMN( x )Table)
In cui x è il nome o il numero della colonna nella tabella.
I parametri della colonna della tabella utilizzano le stesse tag dell'applet definite per i parametri della tabella.
La variabile DTW_APPLET_ALTTEXT specifica il testo da visualizzare sui browser che non supportano Java o il cui supporto Java è stato disabilitato. Ad esempio, la seguente definizione di variabile:
%define DTW_APPLET_ALTTEXT = "<P>Il browser non è abilitato a Java."
produce i seguenti tag HTML e testo:
<P>Il browser non è abilitato per Java.<BR>
Se questa variabile non è definita, non viene visualizzato alcun testo alternativo.