Plugin-klassen

Vi har hittil sett på ulike utvidelser som oppgis av readme-verktøyet. La oss se på den vanlige definisjonen av plugin-modulen for readme-verktøyet.

Definisjon av plugin-modul

Plugin-modulen for readme-verktøyet er definert i filen MANIFEST.MF.

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Plugin.name
Bundle-SymbolicName: org.eclipse.ui.examples.readmetool; singleton:=true
Bundle-Version: 3.2.0.qualifier
Bundle-ClassPath: readmetool.jar
Bundle-Activator: org.eclipse.ui.examples.readmetool.ReadmePlugin
Bundle-Vendor: %Plugin.providerName
Bundle-Localization: plugin
Require-Bundle: org.eclipse.ui,
 org.eclipse.core.resources,
 org.eclipse.core.runtime,
 org.eclipse.ui.views,
 org.eclipse.ui.ide,
 org.eclipse.jface.text,
 org.eclipse.text,
 org.eclipse.ui.workbench.texteditor,
org.eclipse.ui.editors
Eclipse-autostart: sann
Eclipse-AutoStart-comment: Bruk Eclipse-AutoStart i stedet for Eclipse-LazyStart, for readme-eksempelet bør kjøres mot 3.1 i tillegg til 3.2.

Plugin-modulens definisjon inkluderer Bundle-Name, Bundle-SymbolicName (plug-in id), Bundle-Version og Bundle-Vendor for plugin-modulen. Vi har sett på de fleste av disse parametrene i plugin-modulen for Hello World. Readme-verktøyet definerer også en spesialisert plugin-klasse, ReadmePlugin.

Navnet på JAR-filen oppgis også. Filnavnene som er oppgitt i Bundle-ClassPath, er relative i forhold til plugin-modulens katalog, så readme-verktøyets JAR-fil bør legges direkte o plugin-modulens katalog.

Elementet Require-Bundle informerer plattformen om readme-verktøyets avhengigheter. Arbeidsbenkens plugin-moduler for brukergrensesnitt er oppført som obligatoriske plugin-moduler, sammen med de ulike plugin-modulene for kjerne, JFace og tekst.

AbstractUIPlugin

Klassen ReadmePlugin representerer plugin-modulen for readme-verktøyet og styrer plugin-modulens livssyklus. Som vi har sett i eksempelet med Hello World, trenger du ikke å oppgi en plugin-klasse. Plattformen vil oppgi en for deg.  I så fall må plugin-modulen initialisere data som er relatert til brukergrensesnitt, når den startes. Plattformklassen AbstractUIPlugin inneholder en struktur for håndtering av brukergrensesnittressurser og utvides av ReadmePlugin.

AbstractUIPlugin bruker de generiske oppstarts- og avslutningsmetodene for å håndtere bilder, dialogboksinnstillinger og et preferanselager så lenge plugin-modulen eksisterer.  Vi skal se på de spesifikke egenskapene for ReadmePlugin-klassen når vi arbeider med dialogbokser og preferanser.