Insticksprogramklassen

Hittills har vi tittat på de olika utökningar som tillhandahålls av verktyget readme. Låt oss ta en titt på den allmänna definitionen av insticksprogrammet för readme-verktyget.

Definition av insticksprogram

Insticksprogrammet för readme-verktyget definieras 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: true
Eclipse-AutoStart-kommentar: Använd Eclipse-AutoStart i stället för Eclipse-LazyStart eftersom readme-exemplet ska köras mot både 3.1 och 3.2.

I definitionen av insticksprogrammet ingår Bundle-Name, Bundle-SymbolicName (insticksprograms-ID), Bundle-Version och Bundle-Vendor för insticksprogrammet. Vi såg de flesta av dessa parametrar i insticksprogrammet 'hello world'. Readme-verktyget definierar också en specialiserad insticksprogramklass, ReadmePlugin.

Dessutom tillhandahålls namnet på jar-filen. Filnamn som anges i Bundle-ClassPath står i förhållande till insticksprogrammets katalog, så readme-verktygets jar-fil ska finnas i direkt i insticksprogrammets katalog.

Elementet Require-Bundle informerar plattformen om readme-verktygets beroenden. Arbetsmiljö-UIts insticksprogram anges som nödvändiga insticksprogram tillsammans med de olika kärn-, jface- och text-insticksprogrammen.

AbstractUIPlugin

Klassen ReadmePlugin betecknar readme-verktyget och hanterar insticksprogrammets livscykel.  Som vi såg i exemplet 'Hello World' behöver du inte ange en insticksprogramklass.  Plattformen tillhandahåller en åt dig.  I det här fallet behöver vårt insticksprogram initiera UI-relaterade data när den startas.  Plattformsklassen AbstractUIPlugin tillhandahåller en struktur för hantering av UI-resurser och utökas av ReadmePlugin.

AbstractUIPlugin använder de generiska start- och avstängningsmetoderna för hantering av bilder, dialogruteinställningar och ett inställningslager under insticksprogrammets livslängd.  Vi ska titta på de specifika egenskaperna för klassen ReadmePlugin när vi arbetar med dialogrutor och inställningar.