Witam wszystkich,
mam do rozwiązania następujący problem: chciałbym zbadać klasę/y za pomocą mechanizmu refleksji nie posiadając jednak tych klas załadowanych za pomocą classloader'a. Na przeszkodzie staje mi statyczna metoda forName(String) z klasy Class.
public static Class<?> forName(String className)
throws ClassNotFoundException
Okazuje się (tu proszę mnie sprostować, jeśli pisze coś nie tak, bo geniuszem w javie nie jestem), iż JVM wykorzystuje stringa jako nazwy do odnalezienia klasy załadowanej wcześniej przez classLoadera, albo ładuję ją po wywołaniu takiej funkcji. Refleksję o ile dobrze mi wiadomo można wykorzystać do tego celu o ile mówi się o wykorzystaniu jej do działającego pod nadzorem JVM skompilowanego programu. Problem w tym, iż chciałbym ją wykorzystać do zbadania zewnętrznego projektu, tzn wyjąć z plików źródłowych załadowanych za pomocą programu, określone informacje na temat metod, dziedziczenia, pól itd. Projekt załadowany zewnętrznie nie jest w żaden sposób kompilowany, a klasy nie są ładowane classloader'em.
Moje pytanie: czy mając program (pakiet) z pięcioma klasami mógłbym za pomocą jakiegoś mechanizmu kolejno załadować te klasy i skorzystać z mechanizmu refleksji???
Pozdrawiam
Michał