Java Reference
In-Depth Information
Plugin der Eclipse-Entwicklungsumgebung defi niert wird. Unser Plugin muss sich deshalb
an die Vorgaben halten, die mit der Nutzung dieses Erweiterungspunkts verbunden sind.
Dazu gehört zum einen, dass die vom Erweiterungspunkt vorgegebene XML-Schema-Defi ni-
tion eingehalten wird und die nötigen Angaben für diesen Erweiterungspunkt in der Datei
plugin.xml unseres Plugins gemacht werden, wozu auch die Angabe des Namens einer Ein-
stiegsklasse gehört. Diese Klasse muss aus der abstrakten Klasse ViewPart abgeleitet sein,
was die Implementierung der Methode createPartControl erzwingt. Diese Methode ist dazu
vorgesehen, das Befüllen der View zu programmieren. Unser Eclipse-Plugin nutzt aber
nicht nur einen Erweiterungspunkt, sondern defi niert auch einen eigenen Erweiterungs-
punkt. Dabei wird in einem XML-Schema festgelegt, welche Angaben Plugins machen müs-
sen (und in welcher Form), die diesen Erweiterungspunkt nutzen. Auch dazu gehört wieder
der Name einer Einstiegsklasse. Unser Plugin erwartet, dass jede angegebene Klasse
die Schnittstelle Function, die unser CounterView-Plugin mitbringt, implementiert. Die
beschriebene Situation ist in Bild 10.7 noch einmal zusammengefasst.
Plugin
ResetFuncon
Plugin
IncrementFuncon
Plugin
DecrementFuncon
ResetFuncon
IncrementFuncon
DecrementFuncon
Erweiterungspunkt CounterView.funcons
Plugin
CounterView
Funcon
CounterView
Erweiterungspunkt org.eclipse.ui.views
Plugin für Views
ViewPart
Bild 10.7 Beispiel-Plugins dieses Kapitels mit defi nierten und genutzten Erweiterungspunkten sowie
mit defi nierten und genutzten Basisklassen bzw. Schnittstellen
Wie schon in Abschnitt 10.1 erläutert wurde, erfolgt die Objekterzeugung und der Aufruf
initialer Methoden in der umgekehrten Richtung der Pfeile, welche die Nutzung von Erwei-
terungspunkten symbolisieren. Das heißt also für Bild 10.7, dass das Views-Plugin der
Eclipse-Entwicklungsumgebung ein Objekt der Klasse CounterView, welche Teil unseres
CounterView-Plugins ist, erzeugt und die Methode createPartControl zur Initialisierung
unserer eigenen View aufru . Dies bedeutet aber auch, dass unser CounterView-Plugin
herausfi nden muss, welche Plugins sich an dem selbst defi nierten Erweiterungspunkt
angedockt haben und welche Konfi gurationsinformation sie mitbringen. Weiterhin ist
unsere CounterView dafür verantwortlich, auf der Oberfl äche für jedes den Erweiterungs-
punkt nutzende Plugin einen entsprechenden Button anzulegen, aus den Klassenangaben
Objekte dieser Klassen zu erzeugen und dafür zu sorgen, dass beim Klicken des Buttons
 
Search WWH ::




Custom Search