11.07.2015 Aufrufe

ODL-Sprachkonstrukte und interaktive Benutzerschnittstelle - TUM

ODL-Sprachkonstrukte und interaktive Benutzerschnittstelle - TUM

ODL-Sprachkonstrukte und interaktive Benutzerschnittstelle - TUM

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

76 KAPITEL 5: IMPLEMENTIERUNG• QueryInputPanel-ProduzentenIn diese Gruppe gehören Klassen, die unkonfigurierte Instanzen von Eingabepanels herstellen– für jede konkrete Implementierung von QueryInputPanel gibt es eine entprechende Producer-Klasse,die Instanzen dieses Eingabepanels herstellt. Die Producer-Klassen sind:QueryInputPanelProducer «Interface»,TextFieldQueryInputPanelProducer,BooleanTextFieldQueryInputPanelProducer,IntegerTextFieldQueryInputPanelProducer,SelectionQueryInputPanelProducer «Interface»,AbstractSelectionQueryInputPanelProducer,ListQueryInputPanelProducer,RadioButtonsQueryInputPanelProducer,CompositeQueryInputPanelProducer «Interface»,AbstractCompositeQueryInputPanelProducer,DefaultCompositeQueryInputPanelProducer,SetTypeQueryInputPanelProducer «Interface»,AbstractSetTypeQueryInputPanelProducer,DefaultSetTypeQueryInputPanelProducer,QueryInputPanelProducerManagerDas Interface QueryInputPanelProducer, das den Ausgangspunkt der Hierarchie bildet,definiert die Fabrikmethode QueryInputPanel createQueryInputPanelInstance()– sie gibt QueryInputPanel-Instanzen unverändert zurück, so wie sie vomnew-Befehl erstellt wurden. Nehmen wir als Beispiel TextFieldQueryInputPanel: inder entsprechenden Producer-Klasse TextFieldQueryInputPanelProducer sieht dieseMethode folgendermaßen aus:public QueryInputPanel createQueryInputPanelInstance() {return new TextFieldQueryInputPanel();}Für die anderen QueryInputPanel-Klassen sind entsprechende Producer-Klassen völliganalog implementiert.Die Singleton-Klasse QueryInputPanelProducerManager speichert die Einstellungendarüber, welcher QueryInputPanel-Klasse für welchen <strong>ODL</strong>-Datentyp verwendet werdensoll, indem sie für jeden <strong>ODL</strong>-Datentyp (außer wiederum dem eingeschränkten Typ) die Producer-Klassespeichert, die Eingabepanels für diesen Datentyp herstellt. Dafür sind die Methodenget_<strong>ODL</strong>Type_QueryInputPanelProducer <strong>und</strong> set_<strong>ODL</strong>Type_QueryInputPanelProducerzuständig, wobei _<strong>ODL</strong>Type_ für jedes der Wörter Bool, Integer,String, Entity, IntroducedType, ProductType <strong>und</strong> SetType stehen kann.Stellt der Benutzer im QueryConfigurationDialog beispielsweise für den <strong>ODL</strong>-Datentyp Boolean eine Liste als Eingabepanel ein, so wird im QueryInputPanelProducerManagerder ListQueryInputPanelProducer für diesen Typ eingestellt. Diesgeschieht mit den Aufruf:QueryInputPanelProducerManager.getInstance().setBoolQueryInputPanelProducer(new BooleanTextFieldQueryInputPanelProducer() );

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!