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

Ähnliche Dokumente
Modernisierung von Forms durch neues Look&Feel

Windows- und Java-Integration mit Oracle Forms 10g und 6i

II.4.4 Exceptions - 1 -

II.4.2 Abstrakte Klassen und Interfaces - 1 -

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

System.out.println("TEXT");

Klausur: Java (Liste P)

II.4.5 Generische Datentypen - 1 -

Computeranwendung und Programmierung (CuP)

Methoden und Wrapperklassen

Übung 1: Object Inspector

Felder - Arrays. Typ feldname[] = new Typ[<ganze Zahl >]; Beispiel: double vektor[] = new double[5]; auch eine Initialisierung ist möglich.

JavaBeans Property-Editoren und Customizer

Einstieg in die Informatik mit Java

9. Ausnahmebehandlung

IT I: Heute. Klasse Object. equals, hashcode, tostring. HashSet IT I - VO 6 1

1 Klassen anlegen und Objekte erzeugen

1 Klassen anlegen und Objekte erzeugen

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete. II.4.2 Abstrakte Klassen und Interfaces - 1 -

Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen. J. W. v. Goethe.

Java Beans. Übersicht, Eigenschaftstypen, Heutiger Stand.

Master of Advanced Studies in Software Engineering Java - Advanced Concepts. Musteraufgaben

1 Klassen und Objekte

Objektorientierung II & die Java Klassenbibliothek. Kristian Bergmann und Arthur Lochstampfer

Kapitel 10. Programmierkurs. Grundlagen von Exceptions Behandlung von Exceptions

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.

Tag 4 Repetitorium Informatik (Java)

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 14.1.

Variablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel

Enterprise JavaBeans Überblick

Programmieren in Java

Handbuch konsultieren!

Probeklausur Java Einführung in die Informatik. Wintersemester 2016/2017

4. Vererbung Die Klasse Object. Die Klasse Object

2 Eine einfache Programmiersprache

Instrumentierung und Dekodierung

Informatik II. Woche 10, Giuseppe Accaputo

II.4.4 Exceptions - 1 -

Einstieg in die Informatik mit Java

Java Beans.

II.4.6 Collections - 1 -

Themen der Übung. Methoden und Wrapperklassen. Vorteile von Methoden. Methoden. Grundlagen

Kapitel 10. Programmierkurs. Grundlagen von Exceptions Behandlung von Exceptions

9. Ausnahmebehandlung

2 Eine einfache Programmiersprache

Einstieg in die Informatik mit Java

Klassenvariablen, Klassenmethoden

1.2 Attribute und Methoden Aufbau einer Java-Klasse:

12 Abstrakte Klassen, finale Klassen und Interfaces

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen

2 Eine einfache Programmiersprache

Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen?

Objektorientierte Programmierung

Einstieg in die Informatik mit Java

Probeklausur Java Einführung in die Informatik. Wintersemester 2017/2018

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

2. Methoden. n Generelles zum Aufruf von Methoden. n Parameterübergabemechanismen (call by value, call by reference)

1.7 Fehler- und Ausnahmebehandlung

Einführung in die Programmierung für NF MI. Übung 04

Einführung in die Programmierung

Tag 4 Repetitorium Informatik (Java)

Handbuch für die Erweiterbarkeit

Aufgabenblatt 4. Aufgabe 3. Aufgabe 1. Aufgabe 2. Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen

IT I: Heute. Klasse Object. equals, hashcode, tostring. HashSet IT I - VO 6 1

Abschnitt 7: Weitere Konzepte der oo Programmierung in Java

Die Klasse java.lang.object. Thorsten Treffer

Einführung in die Programmierung

Remote Method Invocation

Ausnahmen (Exceptions)

Selbststudium Programmieren & Algorithmen OOP1 FS13 Hochschule Luzern Technik & Architektur

Institut für Programmierung und Reaktive Systeme. Java 7. Markus Reschke

Vererbung. Martin Wirsing. Ziele. Vererbung

Enterprise JavaBeans Überblick

- EINSTIEG IN JAVA - (1/5) Datum:

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services

Ausnahmen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 27.6.

Einstieg in die Informatik mit Java

Multimedia im Netz Wintersemester 2012/13

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Einführung in die Informatik - Teil 6a -

Einstieg in die Informatik mit Java

Theorie zu Übung 8 Implementierung in Java

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.

Einstieg in die Informatik mit Java

Test-Klausuraufgaben Softwaretechnik Fachbereich BW, für WINFO

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen

Übungsstunde 9. Einführung in die Programmierung I

Ausnahmebehandlung in Java

Transkript:

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

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

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 3

Einführung Eine JavaBean umfasst: Properties d.h. get<property>-, set<property>-methoden Indexed Properties d.h. get<property>-, set<property>-methoden für die gesamte Property und für einen einzelnen Index Methoden Events Der Enhanced JavaBean-Support kann diese Elemente ansprechen. 4

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 5

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!"); 6

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' ); 7

Setzen und Abfragen von Properties JavaBean: public void setfortschritt (int Fortschritt) progbar.setvalue(fortschritt); Aus Forms-Sicht: Property Fortschritt public int getfortschritt () return progbar.getvalue(); 8

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' ); 9

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 10

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 ); 11

Aufruf von JavaBean-Methoden JavaBean: public double potenzieren( double pbasis, double pexp ) double vergebnis; vergebnis = StrictMath.pow( pbasis,pexp ); return vergebnis; Die Methode potenziert den Wert pbasis mit dem Exponenten pexponent und gibt den ermittelten Wert zurück. 12

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 ); 13

Argument-Übergabe als String Regeln: Der String beginnt und endet mit ' (einfaches Anführungszeichen). 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. 14

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; 15

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" 16

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 17

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() ); 18

Eigene Datentyp-Encoder JavaBean: public Bruch bruchmult(bruch pbruch1, Bruch pbruch2) 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"' ); 19

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 20

Dokumentation JavaBeans: Spezifikation, Tutorials: http://java.sun.com/products/javabeans/docs/ Forms: Online-Hilfe: "Accessing JavaBeans from a Forms Application" Technet: "Oracle9i Forms Demos" http://otn.oracle.com/sample_code/products/forms/ content.html 21