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.

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

[jadice document platform Version 5.5.12.1: Dokumentation für Entwickler. Veröffentlicht: 2021-08-17]