Java Reference
In-Depth Information
6 .1 Beispielkomponenten
Eine Komponente für unser prototypisches Framework muss in eine Jar- oder Zip-Datei
gepackt werden. Die gepackte Datei ist einer Jar-Datei, mit der durch einen Doppelklick eine
eigenständige Java-Anwendung gestartet werden kann, sehr ähnlich. Zum einen besteht die
Komponentendatei aus einer Reihe von Klassen. Für unser Komponentensystem müssen
sich diese alle in einem Verzeichnis namens classes innerhalb der Jar- bzw. Zip-Datei befi n-
den. Das heißt, dass im Verzeichnis classes der Pfad, der den Package-Namen entspricht,
beginnt. Ähnlich wie bei einer ausführbaren Jar-Datei muss auch für unsere Komponente
festgelegt werden, welche Klasse die Einstiegsklasse ist. Zu diesem Zweck befi ndet sich
auch in unserer Komponentendatei eine Datei MANIFEST.MF in einem Verzeichnis namens
META-INF. In dieser Datei wird die Einstiegsklasse durch eine Zeile, die mit „Main:“ beginnt,
spezifi ziert. Das Framework erzeugt ein Objekt dieser Einstiegsklasse und ru unter
U m s t ä nden mehrere Start-Methoden auf diesem Objekt auf, wie im Folgenden noch genauer
beschrieben werden wird.
6 .1.1 Komponente Nr. 1
Im Package javacomp.prototype.application1 befi ndet sich unsere erste Beispielkompo-
nente. Diese besteht aus einer einzigen Klasse namens MainClass, die auch die Einstiegs-
klasse ist. Folglich sieht die Datei MANIFEST.MF so aus:
Main: javacomp.prototype.application1.MainClass
Die Komponentendatei, die eine Zip-Datei sein und deren Dateiname mit „.jar“ oder „.zip“
enden muss, hat die in Bild 6.2 gezeigte Struktur.
classes
javacomp
prototype
applicaon1
MainClass.class
META-INF
MANIFEST.MF
Bild 6.2 Struktur der Jar- bzw. Zip-Datei für die erste Beispiel-
komponente
Die Einstiegsklasse für unser prototypisches Komponentensystem muss weder eine vom
Framework vorgegebene Schnittstelle implementieren noch aus einer vorgegebenen Klasse
abgeleitet werden. Sie ist somit eine POJO-Klasse (POJO: Plain Old Java Object). Es ist ledig-
lich notwendig, dass sie einen öff entlichen, parameterlosen Konstruktor besitzt. Das ist
alles, was das Framework von seinen Komponenten verlangt. Optional können in der Ein-
stiegsklasse eine oder mehrere Methoden mit der vom Framework defi nierten Annotation
@Start gekennzeichnet werden. Falls diese Methoden öff entlich sind, keine Parameter und
den Rückgabetyp void haben, werden sie nach der Erzeugung eines Objekts der Einstiegs-
klasse aufgerufen. Zum Installieren (Deployment) einer Komponente in das Framework
muss die entsprechende Jar- oder Zip-Datei einfach in ein spezielles Verzeichnis kopiert
 
Search WWH ::




Custom Search