Handbuch

44.1.2
Die Klasse DocumentNode

Die Klasse DocumentNode ist von Node abgeleitet und befindet sich ebenfalls im Package de.qfs.apps.qftest.client.web.dom. Zusätzlich zu den in der Node Klasse definierten Methoden, die oben beschrieben wurden, bietet DocumentNode folgendes an:

 
 
boolean hasParent()
Um zu prüfen, ob ein Dokument sich auf oberster Ebene befindet, sollte diese Methode verwendet werden, anstatt das Ergebnis von getParent() auf null zu testen. Der Grund dafür liegt darin, dass das Laden von Kind-Dokumenten vor dem Laden des Parent-Dokument abgeschlossen sein kann. In der Zwischenzeit ist bereits bekannt, dass das Kind-Dokument einen Parent haben wird, obwohl dieser noch nicht zur Verfügung steht.
Rückgabewert True falls das Dokument einen Parent besitzt, false wenn es sich um ein Dokument auf oberster Ebene handelt.
 
DomNode getRootElement()
Liefert den <HTML> Wurzelknoten des Dokuments.
RückgabewertDer Wurzelknoten des Dokuments.
 
FrameNode[] getFrames()
Liefert die Kind-Frames des Dokuments.
Rückgabewert Die Kind-Frames des Dokuments, ein leeres Array falls das Dokument keine Frames hat.
 
String getUrl()
Liefert die URL des Dokuments.
RückgabewertDie URL des Dokuments.
 
String getTitle()
Liefert den Titel des Dokuments aus dem <TITLE> Knoten im <HEAD> Knoten des Wurzelknotens.
RückgabewertDer Titel des Dokuments.
 
String getSourcecode()
Liefert den HTML Quelltext des Dokuments im aktuellen Zustand, also nicht notwendigerweise das, was beim Öffnen des Dokuments geladen wurde, sondern inklusive aller Änderungen an Attributen oder der Struktur des DOM, die seither vorgenommen wurden, z.B. via JavaScript.
Rückgabewert Der aktuelle HTML Quelltext des Dokuments.
 
Object evalJS(String script)
Führt JavaScript Code im Context dieses Dokuments aus.
Parameter
scriptDas auszuführende Skript.
RückgabewertWas immer das skript zurückliefert, konvertiert in einen passenden Objekttyp. Sogar die Rückgabe von DOM Knoten, Frames oder Dokumenten funktioniert.
 
 

Neben den obigen Instanz-Methoden bietet die DocumentNode Klasse einige statische Methoden, um URL einfacher manipulieren zu können.

 
 
static String getUrlBase(String url)
Liefert den Basis-Teil einer URL inklusive Host und Verzeichnis, aber ohne eventuelle Parameter, abgetrennt durch ein '?' und ohne eine eventuelle Tomcat Session ID.
Parameter
urlDie URL deren Basis-Teil ermittelt werden soll.
RückgabewertDer Basis-Teil der URL.
 
static String getUrlHost(String url)
Liefert den Host-Teil einer URL, also den Teil zwischen "http(s)://" und dem nächsten '/'.
Parameter
urlDie URL deren Host-Teil ermittelt werden soll.
Rückgabewert Der Host-Teil der URL oder null, falls das Protokoll weder http noch https ist.
 
static String normalizeUrl(String url)
Normalisiert eine URL. Dabei werden '\' durch '/' ersetzt, "file:/(/(/))" durch "file:///", Windows Laufwerk-Buchstaben groß geschrieben und %.. Sequenzen dekodiert.
Parameter
urlDie zu normalisierende URL.
Rückgabewert Die normalisierte URL.
 
static ExtraFeatureSet getUrlParameters(String url)
Liefert die Parameter einer URL, sowohl die durch ein '?' abgetrennten, als auch eine mögliche Tomcat Session ID, in Form eines ExtraFeatureSet wie es für einen ExtraFeatureResolver benötigt wird (vgl. Abschnitt 45.1.10).
Parameter
urlDie URL deren Parameter ermittelt werden sollen.
Rückgabewert Die Parameter der URL.