ERLEDIGT
NEIN
NEIN
ANTWORTEN
6
6
ZUGRIFFE
280
280
EMPFEHLEN
-
Hallo zusammen,
ich möchte eine Annotation schreiben und mein Hauptziel ist die Zeilennummer herausfinden wo der Annotation im Code steht.
Annotation zu schreiben ist kein Problem aber weiß jemand wie ich die Zeilennummer finden kann?
Danke im Voraus.
-
19.08.11 13:20 #2Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!
Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
-------------------------------------------------------------------------------------------------
Ich beantworte keine Fragen per PN !!
Stellt Eure Fragen im Forum - dann haben alle etwas davon !!
-
Hallo,
dabei geht es auch um das eclipse-Plugin, oder?
Definierst du dann eine Annotation, die der User deines Plugins dann 2 mal im Code anwendet und damit die Brakepoints definiert?
Dann würde ich deine Frage mal in:
Und darauf befürchte ich lautet die Antwort Nein, denn bei Reflection geht es stets um Class- Method-, Annotation-, ... Objekte und um das class-File, aber nie um die .java-Datei in der es Zeilennummern giebt. Ich weiss nicht worauf das ganze hinauslaufen soll, aber wie währe es denn die .java-Datei als String einzulesen...Gibt es mit der Reflection API eine möglichkeit die Zeilennummern in denen eine selbst definierte Annotatioe steht herauszufinden?
Das einzige was mir an sonsten einfällt, wäre das der User die Zeilennummer nochmal explizit angeben muss. (Hier ein kleines Beispiel mit Auslesen der Annotation bei allen Metoden.
Deine Annotation:
Quellcode des Plug-in-Users:Code java:1 2 3 4 5 6 7
import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @Retention(RetentionPolicy.RUNTIME) public @interface Breakepoint { int lineNo(); }
Dein Quellcode zum auslesen:Code java:1 2 3 4
@Breakepoint(lineNo = 46) public int seineMethode(boolean aFlag) { ... }
Code java:1 2 3 4 5 6 7 8 9 10 11
import java.lang.reflect.*; ... Method[] methoden = UserKlasse.class.getDeclaredMethods(); for(Method methode : methoden){ if(methode.isAnnotationPresent(Breakpoint.class){ System.out.println("User hat Breakpoint in Zeile " + methode.getDeclaredAnnotation(Breakepoint.class).lineNo() + " gesetzt."); } }
Bitte korriere mich, wenn ich deine Frage falsch gedeutet habe,
javaDeveloper2011
-
Danke für die ausführliche Info, das ist was ich suche...
Ich habe auch vor im Rechtsklick-Menu im Eclipse ein Eintrag wie "Annotation hinzufügen" zu erstellen, sodass der Benutzer es nicht selber schreiben muss. Kann ich vlt. so die Zeilennummer automatisch schreiben lassen?
-
Weiss ich leider nicht, wenn dann stehts vielleicht in einem der Links oder zumindest in dem Buch zum Threma.
-
20.08.11 00:03 #6
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo,
das kannst du dann direkt mit Eclipse Mitteln (JDT, Refactoring, Textedit etc.) implementieren.
Schau mal hier:
http://www.tutorials.de/java/253989-...einfuegen.html
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
Ähnliche Themen
-
Eigene Annotation und Reflection
Von danielm im Forum JavaAntworten: 2Letzter Beitrag: 22.04.11, 22:45 -
Annotation von Entity Beans nur an der Methode
Von Java4U im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 2Letzter Beitrag: 06.02.09, 14:43 -
Annotation für Pessimistisches Locking
Von AliB im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 0Letzter Beitrag: 08.10.07, 13:40 -
JSR181 Annotation Parameter optional
Von zhaming im Forum JavaAntworten: 0Letzter Beitrag: 20.06.07, 11:04 -
Java 1.5.x - Enum und Annotation
Von schnuffie im Forum JavaAntworten: 4Letzter Beitrag: 07.04.05, 17:54





Zitieren



Login





