Existe classe para ler um arquivo .java e retornar uma classe?

Explicando melhor.

Tenho um arquivo .java, que é um arquivo externo ao projeto que tenho.
Este arquivo quem pode definir o caminho dele é o usuário.

O que eu preciso é ler este arquivo .java que o usuário escolheu e dizer os métodos que ele possui, se possui annotations, coisas do gênero.

Queria saber se tem alguma classe ou método para fazer isso.

Valew!

Se estiver usando o java 6.0 você pode chamar o javac (para compilar a classe) e a seguir

Veja: http://java.sun.com/javase/6/docs/api/javax/tools/package-summary.html#package_description
http://java.sun.com/javase/6/docs/api/javax/lang/model/package-summary.html