Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/05/2010, 08:22
sekante66
 
Fecha de Ingreso: mayo-2010
Mensajes: 6
Antigüedad: 14 años
Puntos: 0
Problema introspeccion java

Muy buenas, recientemente he descubierto la posibilidad de utilizar introspeccion(api de reflection) en java. Pero me encuentro un error que no se como solucionar...


Por introspeccion recupero una clase:

Class clazz = Class.forName(nombreDeLaClase);

// obtengo la instancia a traves del ctor nulo
Object obj = clazz.newInstance();

// defino el Class[] con el que voy a indicar que el metodo que espero
// obtener recibe dos parametros de tipo int
Class cArgs1[] = { Integer.TYPE,Integer.TYPE };

// defino un array de argumentos. Al metodo le voy a pasar
// los argumentos: 300,300
Object oParams1[] = { new Integer(300), new Integer(300) };

// obtengo el metodo identificado por su nombre y un Class[]
Method mtd1 = clazz.getMethod(nombreMetodo,cArgs1);

// lo invoco sobre el objeto obj
mtd1.invoke(obj,oParams1);

Cuando ejecuto un ejemplo como el de arriba todo funciona correcto,
pero si los parametros del metodo que busco en lugar de ser integer o string o tipos primitivos es una clase que me he definido yo siempre obtengo el error:
NoSuchMethodException, y el metodo lo tengo bien definido.
Es mas he probado a sobrecargar ese mismo metodo y pasarle como parametro un String en lugar del objeto de una clase definida por mi y todo funciona correcto.

Por tanto mi problema es recuperar un metodo por introspección que tenga como argumento alguna instancia de alguna clase definida por mi.¿No se puede hacer esto en introspeccion?¿Algo que este haciendo mal?
Me estoy volviendo loco.....