Eclipse Plugin - Rückgabewert einer Methode

Florlp

Mitglied
Hallo,

ich bin gerade dabei mein erstes Eclipse Plugin zu schreiben.
Dabei möchte ich eine (oder mehrere) Java Dateien untersuchen und daraus eine neue Java Datei erzeugen.

Eclipse bietet da ICompilationUnit an.
Damit komme ich auch soweit klar.
Besonders wichtig sind mir dabei die Methoden und deren Rückgabewert.
Ich schaffe es auch mit Hilfe von IMethod die einzelnen Methoden durchzugehen. Mit "getSignature" bzw. "getReturnType" bekomme ich auch einen Typ zurück, aber leider nicht die komplette Bezeichung.

Beispiel:

Aus Testzwecken lasse ich mir den Typ in der Konsole ausgeben:
im Plugin Code:
Java:
 System.out.println("#### Signature Return: "+Signature.toString(m.getReturnType()));
m ist eine Instanz von IMethod

eine Testdatei auf die ich mein Eclipse-Plugin anwende:
Java:
import java.sql.Date;

public class TestKlasse {
	
	public java.lang.String foo1(){
		return "ein String";
	}
	
	public String foo2(){
		return "ein String";
	}
	
	public Date foo3(){
		return null;
	}

}

mein Plugin sagt mir, dass
foo1 vom Typ java.lang.String ist - soweit ok
foo2 vom Typ String ist - nicht toll, aber bei String nicht weiter schlimm
foo3 vom Typ Date - problematisch, wenn ich diese Methode in eine neue Datei kopieren möchte. Woher weiss ich, welcher Typ Date gemeint ist.. bei importierten und selbsterstellten Typen?
Ich will in meiner neuen Klasse/Datei nicht jeden import kopieren müssen, sondern wünsche mir ein
"public java.sql.Date foo3()"

Vorschläge? Ideen? Hilfe?
Ist diese Information überhaupt in ICompilationUnit drin?
(also dass die Importe drin sind, ist mir klar - man kann sich ja den ganzen Code mit getSource ausgeben lassen. Aber weiss es, dass der Rückgabewert java.sql.Date ist?)
 

Florlp

Mitglied
wenn das mit Signature geht, stehe ich irgendwie auf dem Schlauch...

IMethod ermöglicht mir:
String getReturnType()
Returns the type signature of the return value of this method.
String getSignature()
Returns the signature of this method.
(siehe Help - Eclipse SDK )

Trotzdem befürchte ich, dass ich damit nicht weiter komme.
Mit Signature kann ich dann die Strings in was für den Benutzer (und Programmierer) Lesbares umwandeln,
aber hilf mir mal auf die Sprünge, wie ich dann von
Java:
public Date foo3()
zu
Java:
public java.sql.Date foo3()
kommen kann.

edit:
Auch
String toString(String methodSignature, String methodName, String[] parameterNames, boolean fullyQualifyTypeNames, boolean includeReturnType)
Converts the given method signature to a readable string.
hilft mir nicht weiter (Signature Klasse)

Java:
Signature.toString(m.getSignature(), m.getElementName(), m.getParameterNames(), true, true)
liefert ebenfalls nur
Date foo3()
 
Zuletzt bearbeitet:

Florlp

Mitglied
Hallo,

ich probiere es nochmal...
Das alte Problem besteht nach wie vor.

Ich versuche das Problem nochmal zu beschreiben, damit nicht jeder die alten Beiträge durchlesen muss:

Ich arbeite an einem Eclipse-Plugin und möchte dabei die Methoden von Java-Klassen untersuchen.
Was ich habe: IMethod (Help - Eclipse SDK)
Was ich möchte: Den Rückgabewert der Methode
Das Problem: ich brauche den vollständigen Namen (oder als IType)

[Java]
import java.sql.Date;

public interface A {

public Date methode1 (String s);

}
[/code]

Eclipse unterstützt einem beim Programmieren und weiss an dieser Stelle, dass es sich bei Date um java.sql.Date und nicht z.B. um java.util.Date handelt... also muss ich das ja auch irgendwie auslesen können.
IMethod bietet die Methode getReturnType() an, doch hilft dir mir leider genauso wenig weiter wie Signature.getReturnType(String signature) (aber trotzdem danke Wildcard - immerhin hat einer geantwortet), da beide mir "Date" als Ergebnis liefern..
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Eclipse Plugin PreferencePage BooleanFieldEditor Plattformprogrammierung 1
F OSGi Plugin unter Eclipse arbeitet anders als wenn veröffentlicht Plattformprogrammierung 2
R Einfaches Eclipse-Plugin-Beispiel funktioniert nicht Plattformprogrammierung 5
C plugin development environment eclipse Plattformprogrammierung 4
M Keybinding in Eclipse Plugin Plattformprogrammierung 3
B Eclipse Plugin Einstellungsleiste Plattformprogrammierung 2
O Eclipse Plugin - Einfachstes Problem, das es gibt. Plattformprogrammierung 2
3 Eclipse Editor Plugin selektiert Projekt nicht Plattformprogrammierung 10
T RCP Eclipse RCP: Wo/wann im Plugin ist workbench initialisiert? Plattformprogrammierung 14
C Eclipse Plugin NoClassDefFoundError Plattformprogrammierung 4
M Eclipse Plugin Entwicklung - NoClassDefFoundError Plattformprogrammierung 10
C Eclipse Plugin Entwicklung: Editor für Flussdiagramme Plattformprogrammierung 6
B RCP eigenes Eclipse Plugin wird nicht aufgelöst Plattformprogrammierung 7
P Wie bekomme ich ICompilationUnit aus dem event? bei Eclipse-Plugin Plattformprogrammierung 3
X Datei in einem Eclipse Projekt über Plugin zugreifen Plattformprogrammierung 2
hdi Frage zu Eclipse Plugin Development Plattformprogrammierung 12
D Canvas auf View in Eclipse PlugIn Plattformprogrammierung 3
H Bibliotheken in Eclipse-Plugin-Projekt verwenden. Plattformprogrammierung 18
H Eclipse-Plugin erstellen Plattformprogrammierung 22
hdi Schwierigkeiten mit Plugin für EPF (Eclipse Process Framework) Plattformprogrammierung 3
hdi Problem bei Eclipse Plugin Export Plattformprogrammierung 9
H Eclipse Plugin Dateihandling Plattformprogrammierung 2
A Eclipse Plugin Programmierung Dateien Refreshen Plattformprogrammierung 2
R Eclipse RCP - Plugin erstellen Plattformprogrammierung 2
lumo [Eclipse RCP] Plugin OHNE visuals Plattformprogrammierung 7
R Eclipse RCP vs. Plugin Entwicklung Plattformprogrammierung 5
B Eclipse plugin fuer dummys Plattformprogrammierung 11
N Eclipse RCP Plugin aus jar starten Plattformprogrammierung 7
M Eclipse Plugin Depedencies auslesen... Plattformprogrammierung 14
R Wo/Wie Eclipse Plugin einhängen für Jar-Export? Plattformprogrammierung 14
V [erledigt] Eclipse plugin startet nicht Plattformprogrammierung 3
S Eclipse-Plugin + Velocity + Files lesen Plattformprogrammierung 3
C AST (Abstract Syntax Tree)-Generierung für Eclipse-Plugin Plattformprogrammierung 5
V Javadoc an Eclipse Plugin anfügen Plattformprogrammierung 4
V JNI in Eclipse Plugin Plattformprogrammierung 17
F Eclipse plugin ausserhalb von Eclipse starten Plattformprogrammierung 4
byte [ Eclipse ] NoClassDefFoundError bei neuem Plugin Plattformprogrammierung 4
I Eclipse-Plugin: Perspektive mit 2 Views Plattformprogrammierung 5
G Frage zu Eclipse Plugin Plattformprogrammierung 5
E OSGi Eclipse Plug-in programmierung: java.lang.NullPointerException: Cannot enter synchronized block because "profile" is null Plattformprogrammierung 4
R Eclipse Bundles Plattformprogrammierung 2
Robertop RCP Command in bereits bestehendes Eclipse-Menü einbauen Plattformprogrammierung 4
T Java Projekt läuft nur in Eclipse Plattformprogrammierung 6
D RCP P2-Repository für Eclipse-Plugins Plattformprogrammierung 0
M Debuging in Eclipse Annotations Processor Plattformprogrammierung 0
D Nach Sprachpaket Installation kann eclipse nicht mehr gestartet werden Plattformprogrammierung 4
L0MiN Wie kann ich ein Klassendiagramm aus Eclipse heraus erstellen? Plattformprogrammierung 5
M Eclipse Probleme beim Ausführen eines Programms Plattformprogrammierung 3
feinperligekohlensaeure Eclipse Workspace gemeinsam Nutzen -> keine .project Datei Plattformprogrammierung 1
F Eclipse Build Path auf benötigte Projekte Plattformprogrammierung 4
B Daten von Eclipse extern sichern Plattformprogrammierung 2
B Eclipse zeigt Fehler nach Java-Update auf 1.8.0_40 Plattformprogrammierung 3
VfL_Freak [Eclipse] Fehleranzeige im Reiter "Problems" Plattformprogrammierung 1
S Errors in workspace bei eclipse Plattformprogrammierung 3
T eclipse bietet keine META-INF an Plattformprogrammierung 1
N Eclipse wo starten Plattformprogrammierung 6
A Eclipse schließt einfach ohne Fehlermeldung Plattformprogrammierung 4
W Eclipse vergißt beim Exportieren Resources-Ordner Plattformprogrammierung 11
A RCP Eclipse e4 und Injection-Contexts Plattformprogrammierung 0
K Eclipse fährt nicht mehr hoch. Metadatendatei schuld? Plattformprogrammierung 7
C [Eclipse RCP E4]InjectionException: no actual value was found for the argument "MDirtyable" Plattformprogrammierung 8
T Eclipse Eigenschaften hinzufügen Plattformprogrammierung 2
M RCP [Eclipse RCP 3.4] ViewTab Kontextmenu "Alle schließen" Plattformprogrammierung 0
D Problem mit eclipse Plattformprogrammierung 2
S Verschieben des Verzeichnis .eclipse aus Userprofile Plattformprogrammierung 3
A RCP Kann kein Eclipse 4 Projekt anlegen Plattformprogrammierung 0
S RCP Exportiertes RCP Produkt lädt Datei nicht, bei Start aus Eclipse wird Datei jedoch gefunden Plattformprogrammierung 6
G Eine Library in Eclipse zur Verfügung stellen Plattformprogrammierung 14
Gregorrr Eclipse RCP Product Build-Nummer + Jenkins Plattformprogrammierung 6
H OSGi OSGi + Logback + slf4j - Eclipse Run Configuration Plattformprogrammierung 7
R RCP Commands nutzen / org.eclipse.ui.file.save Plattformprogrammierung 7
O Installiere externe Methode "containsNone" in Eclipse Plattformprogrammierung 2
TheWhiteShadow RCP Konstrukt für Editor in Eclipse gesucht. Plattformprogrammierung 3
B Eclipse Probleme mit build Plattformprogrammierung 8
H Keine Hilfe/API mehr in Eclipse Juno? Plattformprogrammierung 4
B Neue SuppressWarning in Eclipse Juno Plattformprogrammierung 6
B Eclipse Property Page Plattformprogrammierung 6
B Eclipse PreferencePage Plattformprogrammierung 3
B Birt-Previewer über Eclipse Plattformprogrammierung 14
J Eclipse Plug-In für UML-Diagramme Problem Plattformprogrammierung 4
R Eclipse RCP Tabellen-View (Anfängerfrage) Plattformprogrammierung 3
C Eclipse: Notification beim umbennen von Methoden? Plattformprogrammierung 4
schalentier Eclipse Sourcecode Plattformprogrammierung 4
A Eclipse undo/redo button reagiert nicht auf Änderungen in der OperationHistory Plattformprogrammierung 5
P Eclipse M2_REPO (NON MODIFIABLE) Plattformprogrammierung 8
B Eclipse: Contextmenu id erhalten? Plattformprogrammierung 9
H Datei in eclipse wird nicht erkannt Plattformprogrammierung 3
O Neues Tastenkürzel für Eclipse Editorfenster registrieren Plattformprogrammierung 2
Madlip RCP eclipse.ui.bindings (Key-Problematik) Plattformprogrammierung 2
S Eclipse vs. JavaMail vs. Ubuntu vs. Windows Plattformprogrammierung 3
M eclipse führt applikationen nicht mehr aus Plattformprogrammierung 6
S Eclipse: Auf CTRL-C/CTRL-V im Package Explorer? Plattformprogrammierung 4
M Eclipse und Hilfen Plattformprogrammierung 5
G Eclipse buggt rum!!! Plattformprogrammierung 4
B Eclipse RCP und Java 7 Plattformprogrammierung 7
G RCP Eclipse Editor + Guice Plattformprogrammierung 8
G Eclipse Plug-in: wie refreshe ich eine combobox? Plattformprogrammierung 4
M Eclipse Plug-in: Wie eine Grafik einfügen? Plattformprogrammierung 20
M RCP [Eclipse RCP] Feature Export und "Fehler"... Plattformprogrammierung 3
P Eclipse speichert keine Änderungen Plattformprogrammierung 5

Ähnliche Java Themen

Neue Themen


Oben