Ver Mensaje Individual
  #6 (permalink)  
Antiguo 23/11/2004, 03:56
Restrictor
 
Fecha de Ingreso: noviembre-2004
Mensajes: 4
Antigüedad: 19 años, 5 meses
Puntos: 0
Si se puede hacer

Si se puede hacer.
En java existe algo llamado reflexion o algo parecido con lo que puedes llamar a una funcion utilizando un literal.
Yo hice algo parecido. Aqui te pongo el codigo:

public void load(ResultSet carga,Class clase) throws EBCargaIncorrectaException {
try {
///Con esto puedes incluso crear una clase INCLUSO SOLO CON EL LITERAL DE LA CLASE Y CON EL LITERAL DEL CONSTRUCTOR

Class[] argumentosConstructor=new Class[]{Integer.class};
Class[] argumentos=new Class[]{ResultSet.class};

Constructor metodoConstructor=clase.getConstructor(argumentosC onstructor);

//// AQUI es donde defines al metodo desde un literal. Por ejemplo, aqui estoy definiendo a un metodo lllamado load desde un literal.

Method metodoLoad=clase.getMethod("load",argumentos);

Object[] parametrosConstructor= new Object[1];
parametrosConstructor[0]=new Integer(cod_solicitante);

Object[] parametros= new Object[1];
parametros[0]=carga;


while(carga.next())
{
Object objeto=metodoConstructor.newInstance(parametrosCon structor);

// Y aqui finalmente es donde se realiza propiamente la llamada

metodoLoad.invoke(objeto,parametros);
this.add(objeto);
}
}
catch(Exception e) {
// Si el metodo al que intentas llamar no existe
}


Espero que te sirva