Andreas Rozek Lesehinweise letzte Änderungen Gästebuch-Eintrag Mitteilungen an den Autor  English Version  zur Leitseite zum vorherigen Thema zum nächsten Thema  zur ersten Seite zur vorherigen Seite zur nächsten Seite

Rhino_24 - Rhino "Host Objects"

Der Java-Teil von "Rhino_24" definiert ein Rhino "Host Object" mit Konstruktor, "statischen" und "nicht-statischen" Funktionen sowie je einem veränderlichen und einem unveränderlichen Datenfeld. Unter JavaScript wird dieses "Host Object" instanziert und untersucht.

Die Quelltexte von "Rhino_24.java" und "Rhino_24.js" sind sehr einfach - im Grunde genommen geht es nur darum, die Rhino-Namenskonvention für Methoden und Datenfelder in einem "Host Object" zu beachten. Anhand dieser Information generiert Rhino beim "Laden" der Java-Klasse (für das "Host Object") automatisch einen passenden "Wrapper", der das "Method Dispatching" sowie die Typ-Konvertierung zwischen Java und JavaScript übernimmt. Selbst von einer Java-Methode geworfene Ausnahmen lassen sich anschließend problemlos abfangen und unter JavaScript behandeln.

Das Programm wird ohne weitere Parameter aufgerufen

  java Rhino Rhino_24.js

und liefert folgende Ausgabe:

  Rhino_24 - constructs and examines a Rhino "Host Object"

  defining an initialization value for "HostObjects"

  instantiating a "HostObject":
  (no enumerable properties found)

  State before reset:
   - HostObject.Value = 0
   - HostObject.isZero() = true
  State after reset:
   - HostObject.Value = 1
   - HostObject.isZero() = false

  StartValue = 1

  triggering an exception throw by "HostObject"
  caught exception:
   - localizedMessage: (exception thrown by a Rhino "Host Object")
   - message: (exception thrown by a Rhino "Host Object")

Die Programmausgabe wird zweckmäßigerweise zusammen mit den Quelltexten von "Rhino_24.java" und "Rhino_24.js" analysiert - wer sich ein wenig mit der "Host Object"-Technik auskennt, für den birgt die Ausgabe jedoch keinerlei Überraschungen.

Quelltexte

Alle hier vorgestellten Programme und Skripte sind im Quelltext verfügbar:

Haftungsausschluß

Bitte beachten Sie auch den Haftungsausschluß des Autors!

http://www.Andreas-Rozek.de/Rhino/Acquainting/Rhino_24.html    (letzter Stand: 06.04.2002)