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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

78 KAPITEL 5: IMPLEMENTIERUNGWie schon für QueryInputPanelProducer-Klassen gibt es für jede konkrete Implementierungvon SetValueDisplay eine entsprechende Fabrik-Klasse – so werden beispielsweiseListSetValueDisplay-Instanzen von ListSetValueDisplayFactory hergestellt.Die Manager-Klasse SetValueDisplayFactoryManager speichert die Einstellung,welche Komponente in Eingabepanels für Mengenwerte zur Anzeige bereits in die Menge eingefügterWerte benutzt werden soll. Dafür wird die entsprechende Fabrikklasse an die MethodesetSetValueDisplayFactory( SetValueDisplayFactory factory )übergeben. Diese Einstellung kann später über die Methode getSetValueDisplayFactory()ausgelesen werden <strong>und</strong> wird von der Fabrik-Klasse für Mengen-Eingabepanels benutzt.• ObjectToStringFormatter-FabrikenFür die Erzeugung von ObjectToStringFormatter-Instanzen zur Darstellung von Wertenverschiedener <strong>ODL</strong>-Datentypen sind folgende Klassen zuständig:ObjectToStringFormatterFactory «Interface»,AbstractObjectToStringFormatterFactory,DefaultObjectToStringFormatterFactory,ObjectToStringFormatterFactoryManagerDas Inteface ObjectToStringFormatterFactory definiert für jeden <strong>ODL</strong>-Datentyp eineMethode, die einen Formatierer herstellt, der für Werte dieses Datentyps String-Repräsentationenberechnet.Die Klasse ObjectToStringFormatterFactoryManager speichert eine Object-ToStringFormatter-Fabrik, die zur Herstellung von Formatierern für verschiedene <strong>ODL</strong>-Datentypen verwendet werden soll.ObjectToStringFormatter-Fabriken werden von QueryInputPanel-Fabriken <strong>und</strong>von SetValueDisplay-Fabriken genutzt. Denkbar wäre auch ein zukünftiger Einsatz beider Konfigurierung von Anzeigekomponenten (ValuesDisplayComponent) für Werteanzeigenin Eingabedialogen.• QueryInputPanel-FabrikenDie Klassen in dieser Gruppe stellen QueryInputPanel-Instanzen her <strong>und</strong> konfigurierensie. Im Unterschied zu den früher beschriebenen Producer-Klassen sind sie nicht einerQueryInputPanel-Unterklasse, sondern einem <strong>ODL</strong>-Datentyp zugeordnet, für densie Eingabepanels herstellen. Dementsprechend hat ihre Fabrikmethode als Parameter unterAnderem den <strong>ODL</strong>-Datentyp, für den das QueryInputPanel zu erstellen <strong>und</strong> zu konfigurierenist: QueryInputPanel createQueryInputPanel( MetaType meta-Type, String variableName, Assignment freeVariables ).Die primäre Aufgabe einer QueryInputPanel-Fabrik ist die Konfiguration eines Eingabepanelsfür den dieser Fabrik zugeordneten <strong>ODL</strong>-Datentyp; die Erstellung einer neuenEingabepanel-Instanz delegiert sie an eine Producer-Klasse, die als Strategie-Objekt vomQueryInputPanelProducerManager zurückgegeben wird. Daher sind QueryInput-Panel-Fabriken eher als Erbauer zu verstehen ([GammaEtAl], S.119-130).Die Klassen sind:QueryInputPanelFactory «Interface»,BoolQueryInputPanelFactory «Interface»,EntityQueryInputPanelFactory «Interface»,IntegerQueryInputPanelFactory «Interface»,StringQueryInputPanelFactory «Interface»,

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!