Java - Como leer los métodos que tiene una clase?

   
Vista:

Como leer los métodos que tiene una clase?

Publicado por adrYana (3 intervenciones) el 29/07/2009 20:37:00
Hola amigos, desde hace días tengo un problema muy grande, estoy haciendo una aplicación en java, apoyandome en el IDE de netbeans, y mi problemas es el siguiente: la aplicación es un inyector de fallos y necesito que el usuario elija la clase donde quiere inyectar el fallo y que al elegirla se llene un combo con todos los métodos que tiene dicha clase, pero no se como hacerlo. Si alguien me puede ayudar se los agradecería infinitamente :D
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como leer los métodos que tiene una clase?

Publicado por James (207 intervenciones) el 29/07/2009 21:35:15
Deberias usar reflect documentacion hay por montones, pero un ejemplo simple lo pongo aqui a ver que sale, en lugar de la clase String puedes poner tu la clase que quieres u obtenrla como mejor se adapte a tu sistema

public static void main(String arg[]) {

String c = "java.lang.String";

try {
Class clase = Class.forName(c);

for (Method metodo : clase.getDeclaredMethods()) {
//muestro un parde propiedades del metodo, lo demas te lo dejo de acuerdo a la necesidad
System.out.println("> Metodo " + metodo.getName() + " Tipo de retorno " + metodo.getReturnType());
}

} catch (ClassNotFoundException e) {
e.printStackTrace();
}

}

como veras se repiten los metodos, por las sobrecargas, esto al menos te da los metodos de la calse los cuales los puedes agregar directamente al combo, bueno eso ya lo resolveras de acuerdo a tu aplicaion, Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como leer los métodos que tiene una clase?

Publicado por adrYana (3 intervenciones) el 29/07/2009 22:15:35
James gracias por tu atención de contestar mi duda :D
lo que me dices es precisamente lo que trato de hacer desde hace ya varios días pero no me funciona creo que es por algo del classpath, el .forName() solo busca en el classpath y yo necesito que me busque en la ruta que el usuario especifique. Tienes alguna idea de como hacerlo?
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como leer los métodos que tiene una clase?

Publicado por Tom (914 intervenciones) el 30/07/2009 16:40:29
Creo que necesitas esto:

http://java.sun.com/j2se/1.4.2/docs/api/java/net/URLClassLoader.html

y luego usar reflection.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como leer los métodos que tiene una clase?

Publicado por adrYana (3 intervenciones) el 31/07/2009 18:30:20
Tom muchas gracias por tu respuesta me has solucionado la vida :D
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar