//Se deben importar las clases a usar del paquete de TOLJava
import com.hcarralero.toljava.TOLMachine;
...
//Se crea una instancia de TOLMachine, la cual nos sirve para
//acceder al Intérprete de TOL y poder consultarlo sobre las
//variables que se han definido, "tm" es la instancia creada.
TOLMachine tm= new TOLMachine();
...
//Usamos un arreglo para almacenar las variables que se definen
//en el intérprete. Este arreglo puede ser llenado con las variables
//que nos retorna el intérprete. En la Aplicación DEMO, la Tabla de
//Variables está asociada a la variable "vars" siguiente:
private TOLVariable[] vars = null;
...
//Hay varios métodos de TOLMachine que podemos usar para obtener las
//variables definidas en el intérprete. Cada método se corresponde con
//un tipo de dato de TOL. El uso de estos métodos se ilustra en los
//ejemplos de código siguientes, tomados de la Aplicación DEMO
...
//1er Ejemplo: Obtención de Variables Tipo Text
vars= tm.getTextVariables();
...
//2do Ejemplo: Obtención de Variables Tipo Real
vars= tm.getRealVariables();
...
//3er Ejemplo: Obtención de Variables Tipo Date
vars= tm.getDateVariables();
...
//4to Ejemplo: Obtención de Variables Tipo Complex
vars= tm.getCpmplexVariables();
...
//En la Aplicación DEMO se ejecuta uno de los ejemplos anteriores cuando
//se hace click en el botón "Ver Variables", según la opción escogida en
//los RadioButtoms.
...
//Como el valor que puede tener una variable depende del tipo de dato TOL
//al que se asocie, entonces es posible saber el tipo por la clase a la
//que pertenece el valor que contiene.
...
//"var" es una Variable
TOLVariable var= ...;
//"to" es un objeto que almacena el valor actual de la variable.
TOLObject to= var.getValue();
...
//Preguntando por la clase de "to" se puede saber el tipo de dato
//Determinar si "to" es un Text de TOL
if (to.getClass()==TOLText.class) {
//"to" representa un valor de tipo "Text" en TOL.
//Con esta confirmación podremos hacer un "casting seguro" al tipo
//de dato correcto.
TOLText tt= (TOLText)to;
//Ahora podemos acceder a los campos correctos para un objeto de
//tipo TOLText.
String text= tt.getText();
...
} else {
//"to" NO representa un valor de tipo "Text" en TOL.
//Ahora deberíamos averiguar por otro tipo de dato para "trabajar"
//correctamente con "to".
...
}
...
//Determinar si "to" es un Real de TOL
if (to.getClass()==TOLReal.class) {
//"to" representa un valor de tipo "Real" en TOL.
//Con esta confirmación podremos hacer un "casting seguro" al tipo
//de dato correcto.
TOLReal tr= (TOLReal)to;
//Ahora podemos acceder a los campos correctos para un objeto de
//ipo TOLReal.
double value= tr.getValue();
...
} else {
//"to" NO representa un valor de tipo "Text" en TOL.
//Ahora deberíamos averiguar por otro tipo de dato para "trabajar"
//correctamente con "to".
...
}