Forms und JavaBeans Enhanced JavaBean Support in Forms 9i | Dr. Gudrun Pabst | Trivadis GmbH |

Slides:



Advertisements
Ähnliche Präsentationen
Objektorientierte Programmierung
Advertisements

der Universität Oldenburg
DES-Simulator in JAVA, objektorientiert
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Kritische Betrachtung
Java Beans von Raoul Schneider.
Java 2 Enterprise Edition (J2EE)
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
FH-Hof Servlets Richard Göbel. FH-Hof Konzept Servlets werden auf der Server-Seite durch ein Formular aufgerufen werten die Eingaben aus einem Formular.
Indirekte Adressierung
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Java: Grundlagen der Sprache
Java: Referenzen und Zeichenketten
Java: Grundlagen der Objektorientierung
Ein Beispiel in Java.
Konstruktoren.
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
Die Skriptsprache Perl (8) Wolfgang Friebel DESY Zeuthen.
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Einführung in die Programmierung Vererbung
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
FH-Hof 1 XML-Parser Richard Göbel. FH-Hof 2 XML-Parser- DOM Object Tree Parser Objekt der Klasse 'DocumentBuilderFactory' mit 'newInstance()' erzeugen.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Grundkonzepte Java - Klassendefinition
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Java programmieren mit JavaKara
1 Sg 3 – JSP - Java Server Pages Softwareengineering Praktikum Java Server Pages Nicole Brandstätter Josef Sturm Karl Streicher.
IT2 – WS 2005/20061Oct 10, 2005 Externes Verhalten – Quelltext (source code) Durch Aufrufe der Konstruktoren und Methoden kann das externe Verhalten (=die.
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Grundlagen der Programmierung
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 1 Folie 2 Microsoft.NET Framework: Quelle:
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Vom Umgang mit Daten. public void myProgram() { int[] saeulenWerte = new int[world.getSizeX()]; for (int i = 0; i < saeulenWerte.length; i++) { saeulenWerte[i]
Aufgaben Version 1: Es soll eine Wetterstation mit folgenden zwei Anzeigen implementiert werden: Aktuelle Wetterbedingungen mit Temperatur und.
Aufruf einer Methode eines Objektes vom Typ „Bruch“
Einfach und doppelt verkettete Listen in JAVA by Jens Weibler
Programmiervorkurs WS 2014/15 Methoden
CuP - Java Achte Vorlesung Entspricht ungefähr Kapitel 4.1 des Skriptums Montag, 28. Oktober 2002.
Java-Kurs Übung Benutzeroberflächen und Graphik Frames (Fenster)
Java-Kurs - 3. Übung Hausaufgabe Arrays For-Schleifen.
Java-Kurs Übung Besprechung der Hausaufgabe
Abteilung für Telekooperation Softwareentwicklung 2 UE WS 2008/09 SE2UE_ Ausnahmen (Exceptions)
Reflection API1 Motivation Reflection API Core Reflection API: java.lang.reflect Seit JDK 1.1 integraler Bestandteil der Java- Klassenbibliothek Ermöglicht:
Oracle IFS Die Brücke zwischen Content Management System und einer Produktpräsentation im Internet.
Java Programme nur ein bisschen objektorientiert.
Import java.util.*; Hilfsklassen, die man eigentlich immer braucht.
Wie überwacht man Objekte im "Alltag" ?
Konstruktoren.
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
„Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen.“
Aufgaben zu Rückgabewerten
Dynamisches Laden von Klassen
Felder in Java.
Grundkurs Informatik 11-13
Von Cem, Maurice und lars
Arrays in Java Ein Array ist eine Variable, die aus einer An-zahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen.
Tutorstunde 10.
 Präsentation transkript:

Forms und JavaBeans Enhanced JavaBean Support in Forms 9i | Dr. Gudrun Pabst | Trivadis GmbH |

2 © Copyright Trivadis GmbH Inhalt:  Einführung  Einfaches Beispiel  Setzen und Abfragen von Properties  Indexed Properties  Aufruf von JavaBean-Methoden  JavaBean-Events  Eigene Datentyp-Encoder Forms und JavaBeans – Inhalt

3 © Copyright Trivadis GmbH Einführung Wofür JavaBeans?  ab Forms9i: Forms nur noch im Web  Problem: Aufruf von Client-Programmen funktioniert mit Forms-Mitteln nicht mehr  JavaBeans:  Standardisierte Java-Komponenten  Enhanced JavaBean-Support von Forms unterstützt die JavaBean- Methoden  Beans von Drittanbietern können genutzt werden Dr. Gudrun Pabst: Struktur der JavaBeans: siehe JavaBean-Spezifikation, Kapitel 8.3/8.4/8.5: Design Patterns for Properties/for Events/for Methods Dr. Gudrun Pabst: Struktur der JavaBeans: siehe JavaBean-Spezifikation, Kapitel 8.3/8.4/8.5: Design Patterns for Properties/for Events/for Methods

4 © Copyright Trivadis GmbH Einführung Eine JavaBean umfasst:  Properties  d.h. get -, set -Methoden  Indexed Properties  d.h. get -, set -Methoden für die gesamte Property und für einen einzelnen Index  Methoden  Events Der Enhanced JavaBean-Support kann diese Elemente ansprechen.

5 © Copyright Trivadis GmbH Einführung Erweiterter Java-Support in Forms 9i:  Bisher:  statische Zuordnung der JavaBean zur BeanArea  set_custom_property  Jetzt:  JavaBean wird zur Laufzeit zugeordnet  direktes Ansprechen von Properties und Methoden  eigene Datentyp- und Listener-Encoder

6 © Copyright Trivadis GmbH Grundlage: einfache JavaBean  JavaBean: import oracle.forms.ui.VBean; public class SimpleBean1 extends VBean { public SimpleBean1() { super(); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } private void jbInit() throws Exception { System.out.println ("Hallo!"); } Dr. Gudrun Pabst: Datei SimpleBean1.java Dr. Gudrun Pabst: Datei SimpleBean1.java

7 © Copyright Trivadis GmbH Grundlage: zugehöriges Forms-Modul  Forms-Modul:  BeanArea TEST_BEAN  Button BT_REGISTER  WHEN-BUTTON-PRESSED -Trigger: FBean.Register_Bean ( 'CTL.TEST_BEAN', 1, 'SimpleBean1' ); Dr. Gudrun Pabst: Modul simple_bean1.fmb Dr. Gudrun Pabst: Modul simple_bean1.fmb

8 © Copyright Trivadis GmbH Setzen und Abfragen von Properties  JavaBean:  Aus Forms-Sicht: Property Fortschritt public void setFortschritt (int Fortschritt) { progBar.setValue(Fortschritt); } public int getFortschritt () { return progBar.getValue(); } Dr. Gudrun Pabst: Datei SimpleBean2.java Dr. Gudrun Pabst: Datei SimpleBean2.java

9 © Copyright Trivadis GmbH Setzen und Abfragen von Properties  Forms-Modul:  Button zum Setzen des Fortschritts, Code: FBean.set_property ( 'CTL.TEST_BEAN', 1, 'Fortschritt', :ctl.ti_wert );  Button zum Abfragen des Fortschritts, Code: :ctl.ti_wert := FBean.get_property ( 'CTL.TEST_BEAN', 1, 'Fortschritt' ); Dr. Gudrun Pabst: Modul simple_bean2.fmb Dr. Gudrun Pabst: Modul simple_bean2.fmb

10 © Copyright Trivadis GmbH Indexed Properties  JavaBean:  2 set-Methoden: public void setListe (String[] pTest) public void setListe (int pIndex, String pTest)  2 get-Methoden: public String[] getListe () public String getListe (int pIndex)  ACHTUNG: Index startet mit 0!  Aus Forms-Sicht: Indexed Property Liste

11 © Copyright Trivadis GmbH Indexed Properties  Forms-Modul:  Setzen aller Werte der Indexed Property: FBean.set_indexed_property ( 'CTL.TEST_BEAN', 1, 'Liste', fbean.all_rows, :ctl.ti_item1 || ',' || :ctl.ti_item2 || ',' || :ctl.ti_item3 || ',' || :ctl.ti_item4 );  Setzen eines bestimmten Werts der Indexed Property: FBean.set_indexed_property ( 'CTL.TEST_BEAN', 1, 'Liste', :ctl.ti_index, :ctl.ti_wert );

12 © Copyright Trivadis GmbH Aufruf von JavaBean-Methoden  JavaBean: Die Methode potenziert den Wert pBasis mit dem Exponenten pExponent und gibt den ermittelten Wert zurück. public double potenzieren( double pBasis, double pExp ) { double vErgebnis; vErgebnis = StrictMath.pow( pBasis,pExp ); return vErgebnis; } Dr. Gudrun Pabst: Datei SimpleBean4.java Dr. Gudrun Pabst: Datei SimpleBean4.java

13 © Copyright Trivadis GmbH Aufruf von JavaBean-Methoden  Forms-Modul:  Übergabe der Argumente als String: :ctl.ti_ergebnis := FBean.invoke_num ( 'CTL.TEST_BEAN', 1, 'potenzieren', :ctl.ti_basis || ',' || :ctl.ti_exponent ); Dr. Gudrun Pabst: Modul simple_bean4.fmb Dr. Gudrun Pabst: Modul simple_bean4.fmb

14 © Copyright Trivadis GmbH Argument-Übergabe als String Regeln:  Der String beginnt und endet mit ' (einfaches Anführungs- zeichen).  Die Argumente sind durch Kommas getrennt.  Strings im String müssen in " (doppelte Anführungszeichen) eingeschlossen werden.  " in Strings werden als \" übergeben, \ als \\.  Werte vom Typ Boolean werden als true oder false übergeben.  Zahlen werden als Zahlen übergeben.

15 © Copyright Trivadis GmbH Argument-Übergabe als Argumentliste  Forms-Modul:  Übergabe der Argumente als Argumentliste: declare v_arglist fbean.arglist; begin v_arglist := fbean.create_arglist; -- fbean.add_arg ( v_arglist, :ctl.ti_basis ); fbean.add_arg ( v_arglist, :ctl.ti_exponent ); -- :ctl.ti_ergebnis := FBean.invoke_num ( 'CTL.TEST_BEAN', 1, 'potenzieren', v_arglist ); -- end;

16 © Copyright Trivadis GmbH JavaBean-Events Forms-Modul:  Registrieren des Events: fbean.enable_event  Anlegen eines WHEN-CUSTOM-ITEM-EVENT -Triggers  SYSTEM.CUSTOM_ITEM_EVENT : Name des Events  SYSTEM.CUSTOM_ITEM_EVENT_PARAMETERS : Parameterliste des Events  Event-Parameter: siehe "Working with Data Type and Event Encoders" Dr. Gudrun Pabst: simple_bean5.fmb Beim Mausklick werden die Event-Parameter abgefragt und angezeigt. Dr. Gudrun Pabst: simple_bean5.fmb Beim Mausklick werden die Event-Parameter abgefragt und angezeigt.

17 © Copyright Trivadis GmbH Eigene Datentyp-Encoder  zur Übergabe von Daten an komplexe Java-Objekttypen  extends oracle.forms.beans.FormsEncoder  zwei Methoden:  fromString : konvertiert den übergebenen String in das Objekt  toString : erzeugt aus den Objekt-Daten einen String  muss mittels BeanManager.registerEncoder beim Initialisieren der Bean registriert werden Dr. Gudrun Pabst: simple_bean6.fmb und SimpleBean6 Dr. Gudrun Pabst: simple_bean6.fmb und SimpleBean6

18 © Copyright Trivadis GmbH Eigene Datentyp-Encoder  JavaBean: import oracle.forms.ui.BeanManager; public class BruchEncoder extends FormsEncoder { public BruchEncoder() { super(Bruch.class); } public Object fromString ( String pBruchText ) {... return new Bruch ( vZaehlerNeu, vNennerNeu ); } public String toString ( Object pBruch ) { return new String ( pBruch.toString() ); }

19 © Copyright Trivadis GmbH Eigene Datentyp-Encoder  JavaBean: Methode bruchMult: nimmt zwei Objekte vom Typ Bruch entgegen und gibt das Multiplikationsergebnis als Objekt vom Typ Bruch zurück  Forms-Modul: :ctl.ti_ergebnis := fbean.invoke_char ( 'CTL.TEST_BEAN', 1, 'bruchMult', '"3/4","4/5"' ); public Bruch bruchMult(Bruch pBruch1, Bruch pBruch2)

20 © Copyright Trivadis GmbH Eigene Event-Encoder  zur Übergabe von selbstdefinierten Events in der JavaBean an Forms  extends oracle.forms.beans.EventEncoder  Methoden:  toString : erzeugt aus den Event-Daten einen String  getParameters : erzeugt Liste, die ausgewertet werden kann über :system.custom_item_event_parameters  muss mittels BeanManager.registerEncoder beim Initialisieren der Bean registriert werden

21 © Copyright Trivadis GmbH Dokumentation  JavaBeans:  Spezifikation, Tutorials:  Forms:  Online-Hilfe: "Accessing JavaBeans from a Forms Application"  Technet: "Oracle9i Forms Demos" content.html