Processing Controls und Settings

An unterschiedlichen Stellen innerhalb der jadice document platform wird Integratoren die Möglichkeit gegeben, interne Prozesse (wie beispielsweise den Dokument-Rendervorgang) mittels Einstellungen anzupassen. Zu diesem Zweck existiert eine einheitliche abstrakte API die es erlaubt, Einstellungen zu transportieren und thematisch zu gliedern. Die Gliederung erfolgt in drei Stufen:

  1. Eine Gesamt-Thematik, für die Einstellungen vorgenommen werden können, wird durch eine Instanz von ProcessingControls repräsentiert.

  2. Die Gesamt-Thematik umfasst verschiedene Teilaspekte. Jeder Aspekt wird durch eine Instanz von ProcessingSettings repräsentiert, und umfasst mehrere konkrete Einstellmöglichkeiten.

  3. Jede konkrete Einstellmöglichkeit wird als Methode innerhalb einer Instanz von ProcessingSettings angeboten.

Nur die einzelnen Methoden der ProcessingSettings erlauben das Verändern konkreter Einstellungen. Die Settings und Controls Klassen dienen hingegen der Strukturierung. Jede Realisierung der ProcessingControls unterstützt mittels Java Generics bestimmte Ausprägungen von Settings. Für jede konkrete Realisierung von ProcessingSettings kann ein Controls Objekt höchstens eine Instanz aufnehmen. Diese Instanz kann über ihr Klassenobjekt abgefragt werden und wird bei Bedarf automatisch erstellt.

Durch ihre hohe Flexibilität kann die API auch für Integrationszwecke leicht genutzt werden. Es können sowohl eigene Controls für integrationsspezifische Anwendungsfälle definiert werden, als auch eigene Settings in bestehenden Controls transportiert werden.

RenderControls und RenderSettings

Die RenderControls sind ein Spezialfall der ProcessingControls und bieten einen vereinfachten Zugriff auf die am häufigsten verwendeten ProcessingSettings. Die in diesem Kontext verwendete Untermenge der ProcessingSettings sind die sogenannten RenderSettings. Innerhalb der RenderSettings können verschiedene Einstellungen bezüglich der Darstellung von Dokumenten gesetzt werden. Für die Anpassung der Settings sollte die Konfiguration wie in „Konfiguration von Komponenten und Settings mittels ComponentConfigurer beschrieben vorgenommen werden.

Die RenderControls werden in einem RenderControlsInventory vorgehalten. Hierbei existiert keine zentrale Instanz, durch die diese Einstellungen überall gleichartig geregelt werden. Unterschiedliche RenderControlsInventorys werden beispielsweise beim Druck in einer PrintJobConfiguration oder der Darstellung eines Dokuments mit einer PageView verwendet. Das jeweils verwendete Inventory ist dort über eine getter-Methode verfügbar.

RenderControls können entweder seitenweit oder dokumentweit gültig sein. Damit kann beispielsweise die Drehung einer einzelnen Seite gesetzt werden, während die Darstellung des restlichen Dokuments davon unberührt bleibt.

Für gleichartige Settings gilt dabei, dass die Einstellungen auf Seitenebene die Einstellungen auf Dokumentenebene überschreiben. Ist beispielsweise der Zoom in den RenderControls dokumentweit auf einen Wert gesetzt, aber in den RenderControls einer einzelnen Seite ein anderer Wert definiert, wird der dokumentweite Wert nur für diese Seite überschrieben. Die restlichen Settings (beispielsweise Rotation) werden dabei nicht geändert. Dieses Verhalten ist in Abbildung 5.1, „Schematische Darstellung zur Ermittlung der RenderControls schematisch dargestellt.

Diese Settings werden durch jadice nicht automatisch persistiert. Eine eventuelle Speicherung und Wiederherstellung gesetzter Settings muss durch die Integration erfolgen.

Abbildung 5.1. Schematische Darstellung zur Ermittlung der RenderControls

Schematische Darstellung zur Ermittlung der RenderControls

Konfiguration von Komponenten und Settings mittels ComponentConfigurer

Häufig werden in Anwendungen für gewisse Abläufe immer wieder die gleichen Settings erstellt und angepasst. Teilweise ist die Erstellung auch verzweigt und nicht immer direkt von außen zugreifbar. Um als Integrator trotzdem jederzeit die Konfiguration der Settings steuern zu können, wurde eine allgemeingültigere Lösung geschaffen. Diese ermöglicht eine Anpassung von Settings (bzw. allgemein Komponenten) direkt bei jeder Erstellung.

Hierzu werden Implementierungen des Interfaces ComponentConfigurer erstellt und beim Start der Anwendung registriert. Die Registrierung erfolgt global über die Methoden der Klasse Jadice. Grundsätzlich können alle Klassen angepasst werden, welche über die create-Methode der Klasse Jadice erstellt werden. Das betrifft insbesondere alle Settings-Klassen.

Ein Beispiel hierzu finden Sie unter: Beispiel 7.29, „Beispiel zum Registrieren eines Configurers von Settings“

[jadice viewer Version 6.1.37: Dokumentation für Entwickler. Veröffentlicht: 2024-11-11]