Una llamada al entorno de lenguaje del applet se especifica mediante una llamada de función de Net.Data. No es necesaria ninguna declaración para la llamada de función. La sintaxis para la llamada de función es la siguiente:
@DTWA_NombreApplet(parm1, parm2, ..., parmN)
Para escribir una macro que genere códigos de applet:
%define{ DATABASE = "celdial" <=Nombre de la base de datos MyGraph.codebase = "/netdata-java/" <=Atributo obligatorio del applet MyGraph.height = "200" <=Atributo obligatorio del applet MyGraph.width = "400" <=Atributo obligatorio del applet MyTitle = "Celdial results" <=Nombre de la página web MyTable = %TABLE(all) <=Tabla para almacenar resultados <= de consulta %}
%FUNCTION(DTW_SQL) mySQL(OUT table){ select name, ages from ibmuser.guests %}
Por ejemplo:
%HTML (Report){ @mySQL(MyTable) <=Llamada a mySQL @DTWA_MyGraph(MyTitle, DTW_COLUMN(ages) MyTable) <=Llamada de función %} < de applet
Puede especificar atributos para códigos de applet en cualquier lugar de la macro de Net.Data. Net.Data sustituye todas las variables que tienen la forma NombreApplet.atributo en el código de applet como atributos. La sintaxis para definir un atributo en un código de applet es la siguiente:
%define NombreApplet.atributo = "value"
Los atributos siguientes son obligatorios para todos los applets:
Los atributos siguientes son opcionales:
Por ejemplo, si el applet se llama MyGraph, puede definir estos atributos obligatorios de la manera siguiente:
%DEFINE{ MyGraph.codebase = "/netdata-java/" MyGraph.height = "200" MyGraph.width = "400" %}
No es necesario que la asignación real se encuentre en una sección DEFINE. Puede establecer el valor mediante la función DTW_ASSIGN. Si no define una variable para la variable AppletName.code, Net.Data añadirá un parámetro code por omisión al código de applet. El valor del parámetro code es AppletName.class, donde AppletName es el nombre del applet.
Debe definir una lista para de parámetros para transmitir al entorno de lenguaje de applet Java en la llamada de función. Puede transmitir parámetros que incluyan:
Cuando se transmite un parámetro, Net.Data crea un código PARAM de applet Java en la salida HTML con el nombre y el valor que se asigne al parámetro. No se pueden transmitir literales de serie o resultados de llamadas de función.
Puede utilizar variables de Net.Data como parámetros. Si se define una variable en el bloque DEFINE de la macro y se transmite el valor de la variable de la llamada de función DTWA_AppletName, Net.Data generará un código PARAM con el mismo nombre y valor que la variable. Por ejemplo, dada la sentencia de macro siguiente:
%define{ ... MyTitle = "This is my Title" %} %HTML (Report){ @DTWA_MyGraph( MyTitle, ...) %}
Net.Data produce el código PARAM de applet siguiente:
<param name = 'MyTitle' value = "This is my Title" />
Net.Data genera automáticamente, cada vez que se llama al entorno de lenguaje de applet Java, un código PARAM con el nombre DTW_NUMBER_OF_TABLES que especifica si la llamada de función ha transmitido alguna variable de tabla. El valor es el número de variables de tabla que Net.Data utiliza en la función. Si no se especifican variables de tabla en la llamada de función, se generará el código siguiente:
<param name = "DTW_NUMBER_OF_TABLES" value = "0" />
Puede transmitir una o más variables de tabla de Net.Data como parámetros en la llamada de función. Si especifica una variable de tabla de Net.Data en una llamada de función DTWA_AppletName, Net.Data generará los códigos PARAM siguientes:
Este código especifica los nombres de las tablas que se deben transmitir. El código tiene la sintaxis siguiente:
<param name = 'DTW_TABLE_i_NAME' value = "tname" />
Donde i es el número de la tabla basado en la ordenación de la llamada de función y tname es el nombre de la tabla.
Para especificar el número de filas y columnas de una tabla determinada, se generan códigos PARAM. Este código tiene la sintaxis siguiente:
<param name = 'DTW_tname_NUMBER_OF_ROWS' value = "rows" /> <param name = 'DTW_tname_NUMBER_OF_COLUMNS' value = "cols" />
Donde el nombre de la tabla es tname, rows es el número de filas de la tabla y cols es el número de columnas de la tabla. Este par de códigos se genera para cada tabla única especificada en la llamada de función.
Este código PARAM especifica el nombre de columna de una columna en concreto. Este código tiene la sintaxis siguiente:
<param name = 'DTW_tname_COLUMN_NAME_j' value = "cname" />
Donde el nombre de la tabla es tname, j es el número de columna y cname es el nombre de la columna de la tabla.
Este código PARAM especifica los valores de que se encuentran en una fila y en una columna en concreto. Este código tiene la sintaxis siguiente:
<param name = 'DTW_tname_cname_VALUE_k' value = "val" />
Donde el nombre de la tabla es tname, cname es el nombre de la columna, k es el número de fila y val es el valor que coincide con el valor de la fila y la columna correspondientes.
Puede transmitir una columna de tabla como un parámetro a una llamada de función para generar códigos para una columna en concreto. Net.Data genera los códigos de applet correspondientes sólo para la columna especificada. un parámetro de columna de tabla utiliza la sintaxis siguiente:
@DTWA_AppletName(DTW_COLUMN( x )Table)
Donde x es el nombre de la columna de la tabla.
Los parámetros de columna de tabla utilizan los mismos códigos de applet definidos para los parámetros de la tabla.
La variable DTW_APPLET_ALTTEXT especifica el texto que se debe visualizar en los navegadores que no admiten Java o que lo tienen inhabilitado. Por ejemplo, la definición de variable siguiente:
%define DTW_APPLET_ALTTEXT = "<p>Sorry, your browser is not Java-enabled."</p>
produce el texto y el código HTML siguiente:
<p>Sorry, your browser is not Java-enabled.</p><
Si esta variable no está definida, no se visualizará ningún texto alternativo.