Klasse nach Methodennamen durchsuchen

tinella

Erfahrenes Mitglied
Liebe Leute

Ich habe den Namen und den Pfad einer Klasse, welche ich aus einem Jarfile entpackt habe.

Ich möchte nun diese Klasse nach einem bestimmten Methodennamen durchsuchen. Ich muss wissen, ob die Klasse die gesuchte Methode beinhaltet.


Ich finde keine Beispiele zu einem soclhen Programm auf dem Internet :(
Kann mir jemand ein solches Beispiel hinposten falls jemand eine Ahnung hat?

Würde euch gerne einen Lösungsansatz geben den ich selber erstellt habe aber ich habe wirklich keine Ahnung wie ich das machen soll.

Schönes Wochenende euch allen!
Tinella
 
Hallo Tinella,

lade dir eclipse aus dem Netz.
Wenn du in eclipse die Klasse mit einem Punkt eingibst, werden dir alle Methoden der Klasse angezeigt.

Beispiel: Klasse DatenbankAufrufe

Eingabe in eclipse:
1. Instanz der Klasse bilden
DatenbankAufrufe dbauf = new DatenbankAufrufe();
2. Instanz der Klasse ansprechen mit
dbauf.
Jetzt erhälst du alle Methoden der Klasse DatenbankAufrufe angezeigt.

Wenn du ein jar File in deinem Projekt in eclipse einbinden willst, realisiert du das über
den Menüpunkt "Properties" bzw. in der deutschen Version "Eigenschaften".


Schönes Wochenende

Harald
 
Danke für deine Antwort Harald!

Aber du hast meine Frage falsch verstanden. Ich mache das in einem Programm, dh ich muss das Programmieren.

Zum allgemeinen Verständnis: ich gebe einen Rootpfad (z.B C:) und einen Methodennamen ein.
Das Programm sucht mir nun sämtliche Jarfiles. Aus den Jarfiles entpackt das Programm Klassen und in eben diesen Klassen möchte ich nun nach meinem Methodennamen suchen.
Kann mir jemand bitte helfen?
 
Hallo!

Schau mal hier:
Code:
/**
 * 
 */
package de.tutorials;

import java.lang.reflect.Method;

/**
 * @author Tom
 *
 */
public class MethodNameListing {

    /**
     * @param args
     */
    public static void main(String[] args) {
        listDeclaredMethodsOf(Foo.class);
        System.out.println();
        listMethodsOf(Foo.class);
    }
    
    private static void listMethodsOf(Class<Foo> clazz) {
        System.out.println("listMethodsOf: " + clazz);
        Method[] methods = clazz.getMethods();
        for (int i = 0; i < methods.length; i++) {
            Method method = methods[i];
            System.out.println(method.getName());
        }
    }

    private static void listDeclaredMethodsOf(Class<Foo> clazz) {
        System.out.println("listDeclaredMethodsOf: " + clazz);
        Method[] methods = clazz.getDeclaredMethods();
        for (int i = 0; i < methods.length; i++) {
            Method method = methods[i];
            System.out.println(method.getName());
        }
    }

    static class Foo{
        public void A(){
            System.out.println("A");
        }
        
        public void B(){
            System.out.println("B");
        }
        
        public void C(){
            System.out.println("C");
        }
    }
}
Wie schon oft gesagt hättest du dich, statt das alles selber zu bauen, bei deinem Projekt besser in die Eclipse Suche eingeklinkt, dann hättest du bei weitem weniger Aufwand gehabt.

Gruß Tom
 
Zurück