LazyLoading von zusammengesetzten Dokumenten

Mit dem jadice-Dokumentenmodell ist es möglich, ein logisches Dokument zu definieren, das aus mehreren physikalischen Dokumenten besteht. Lädt man ein solches Composite-Dokument nun, werden normalerweise alle Teildokumente unabhängig davon geladen, welche Teildokumente wirklich benötigt werden.

Um die initiale Ladedauer und die Ressourcenverwendung solcher Dokumente zu optimieren, ist es möglich, die verschiedenen Teildokumente jeweils erst dann zu laden, wenn diese benötigt werden. Mit der LazyLoading-Funktionalität kann das Laden auf die Teildokumente beschränkt werden, die gerade benötigt werden (zum Beispiel zur Anzeige). Bei Funktionen, die das gesamte Dokument betreffen (zum Beispiel die Textsuche oder der Export), werden alle restlichen Teildokumente nachgeladen.

Die LazyLoading-Funktionalität wird dadurch realisiert, dass zunächst ein LazyStreamPageSegment als Platzhalter für das eigentliche PageSegment eingefügt wird. Erst wenn dieser Platzhalter gerendert werden soll, werden die eigentlichen Inhalte geladen und gerendert.

Dazu müssen die Inhalte, die lazy geladen werden sollen müssen als LazyStreamPageSegment zu Seiten des Dokuments hinzugefügt werden. Bei Aufruf der createRendering()-Methode des LazyStreamPageSegment wird dann zunächst geprüft, ob der zugrundeliegende Stream bereits geladen wurde. Anschließend wird wenn nötig der Stream gelesen und anschließend gerendert.f

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