So wie das Document im Wesentlichen eine Sammlung von Seiten verkörpert, ist auch die Page zunächst primär ein Behälter: die Seite selbst hat sehr wenig eigene Eigenschaften. Das Wesentliche, den Seiteninhalt, tragen die PageSegments bei.

  • War die Page in der Version 4 noch eine Klasse, ist sie nun ein Interface. Die Basisimplementierung heißt, sicher nicht überraschend, BasicPage.

  • Darüber hinaus besitzt sie Methoden, die es erlauben, PageSegments, nach DocumentLayern indexiert, in der Page zu registrieren.

  • An Pages können PageListener registriert werden, die bei Änderungen an der Seite, das heißt ihren Inhalten oder Eigenschaften, benachrichtigt werden.

  • Die Page ist ein PropertiesProvider, stellt es Ihnen also frei, ihr beliebige Eigenschaften anzuheften.

Fast noch auffälliger als das, was die Page ist, ist aber was sie nicht (mehr) ist beziehungsweise tut:

  • Die Page hat keinen Bezug mehr zum Document. Dies klingt zunächst vielleicht überraschend, ist aber tatsächlich so: eine Seite ›weiß‹ nicht mehr, zu welchem Dokument sie gehört. Dies sorgt in manchen – zum Glück hinreichend seltenen – Fällen dafür, dass neben einer Page-Referenz auch das Document ›gemerkt‹ werden muss. Die Vorteile der Auflösung dieser Abhängigkeit überwiegen jedoch bei weitem. So ist beispielsweise die jetzt erlaubte gemeinsame Nutzung einer Seite in mehreren Dokumenten und das nun relativ unproblematisch mögliche ›Herumreichen‹ von Seiten eine direkte Folge davon.

  • Eine ganze Reihe von Methoden, die lediglich zur Informationsbeschaffung dienten, aber nicht originär in das Aufgabenspektrum der Page fielen, haben wir, um das API übersichtlicher zu gestalten, in eine Klasse mit statischen Hilfsmethoden verschoben. So liefert beispielsweise Pages.getRenderedSize(Page, RenderControls) die Größe des Renderings einer Page und weitere solcher Methoden werden ebenfalls von Pages zur Verfügung gestellt.

  • Die Page ist auch kein Abkömmling des RenderElement-Trees (der von jadice intern benutzte Szenengraphen für die Darstellung, der derzeit nicht Teil des öffentlichen APIs ist) mehr. Dies hilft, das API zu verschlanken, ohne die Nützlichkeit zu beeinträchtigen.

[jadice® document platform 5 Dokumentation. Erstellungsdatum: 2011-08-12]
loading table of contents...