Obter metodo de uma classe... java.lang.reflect.Method

É possivel ultilizar java.lang.reflect.Method para obter por exemplo um metodo inteiro de uma classe?

Dada a classe abaixo:

[code]package javaapplication1;

public class Main {

public static void main(String[] args) {
    
  EscreveMensagem("Hello Word!!");
}

public static void EscreveMensagem(String msg)  {
   System.out.println(msg); 
}

}[/code]

Gostaria de capturar o metodo inteiro como por exemplo, com uma string:

public static void EscreveMensagem(String msg) {
System.out.println(msg);
}

É possivel fazer isso com o uso de java.lang.reflect? se não qual seria outra alternativa?

você quer executar um método via reflection ou recuperar o código contido neste método?

o código contido no(s) método(s)

A resposta simples é “não” porque, durante o processo de compilação, o código não é incluído nos arquivos .class, que é o resultado da compilação.

Entretanto, se você ainda tiver os arquivos .java, pode (a partir da informação de depuração que é incluída nos arquivos .class) recuperar, com um pouco de trabalho, o fonte do método. A informação de depuração contém o número inicial da linha e o nome do arquivo .java.

Eu possuo os arquivos .java, na verdade gostaria de fazer isso dentro de um doclet, porém não encontrei uma maneira de saber o diretório dos arquivos de dentro da doclet, por exemplo dado o codigo abaixo como obter o caminho dos arquivos .java

[code]package javaapplication1;

import com.sun.javadoc.*;

public class ListClass {
public static boolean start(RootDoc root) {
ClassDoc[] classes = root.classes();
for (int i = 0; i < classes.length; ++i) {
System.out.println(classes[i]);
}
return true;
}
}
[/code]