Kapitel 4. Plugins

Inhaltsverzeichnis

4.1. Definition
4.2. Spezifikation
4.3. Konfiguration
4.4. Selektion

Dies beschreibt die Pluginarchitektur.

4.1. Definition

Ein Plugin dieser Anwendung ist einfach eine reguläre JAR-Datei, welche die benötigten Klassen und Ressourcen enthält und einen FileHandler implementiert.

Ein solcher FileHandler muss ein spezifisches Java Interface implementieren und seine Eigenschaften in einer definierten Weise offenlegen. Siehe die Entwicklungsdokumentation (JavaDoc) für entsprechende Detailinformationen.

Er sollte sich ebenfalls konform zum semantischen Vertrag verhalten, die es mit sich bringt, ein FileHandler zu sein. Das heisst die Bedeutung von Eigenschaften zu respektieren, die über das implementierte Interface zugänglich sind. Das soll saubere Integration mit dieser Anwendung sicherstellen (z.B. die Bedeutung der Einstellung allow-edit um Modifikationen zu erlauben oder zu verbieten).

FileHandler gibt es in unterschiedlichen Geschmacksrichtungen:

  • Vorschau.  Stellt sehr schnell Vorschauinformationen über eine Datei zur Verfügung, möglicherweise sogar, ohne diese zu öffnen.

  • Betrachter.  Erlaubt die Betrachtung der Inhalte einer Datei, ohne jegliche Möglichkeit, irgendwelche modifizierenden Operationen auszuführen.

  • Editor.  Erlaubt das Laden des Dateiinhalts und das Bearbeiten desselben mit beliebigen formatspezifischen Möglichkeiten. Das Speichern etwelcher Änderungen kann jedoch unterdrückt sein, je nachdem ob dies von der Anwendungseinstellung zugelassen ist.

  • Andere.  Andere Arten von Handlern sind denkbar, jedoch zurzeit nicht spezifiziert. Reiht sich ein fremder Handler in keine der oberen Kategorien ein, so sollte er trotzdem die Designziele berücksichtigen und sich entsprechend verhalten.

Jedes Plugin gibt Auskunft über die unterstützten Operationen und kann daher einer der oben genannten Kategorien zugewiesen werden.