Heiner Kückerheterogene Map HMap in Java |
|
Home Java-Seite Bit Packed Array ASM Improved heterogene Map, HMap Constraint Code Generator JSP WorkFlow PageFlow FlowControl Page Flow Engine Web Flow Engine Control_and_Command JSP_Spreadsheet Code-Generator für Option-Either-Stil in Java verbesserter Comparator Fluent-Interface Code-Generator auf Basis einer Grammatik Visitor mit Multidispatch for-Schleife mit yield-return Kognitions-Maschine semantisches Netz Domain Parser Codegenerator_für hierarchische Datenstrukturen Expression_Engine Formula_Parser Thread Preprocessor State Transition Engine AspectJ Java_Explorer DBF_Library Kalender_Applet SetGetGen BeanSetGet CheckPackage LineNumbers GradDms Excel-Export StringTokenizer JspDoc JspCheck JSP-Schulung Java Server Pages Struts Ascii-Tabellen- Layouter Ascii-Baum- Layouter Ascii-Art-Fluss- Diagramm- Parser AsciiArt AssignmentMatrix Layouter StringSerial Silbentrennung JDBC_Schlüssel- Generierung bidirektional/ unidirektional gelinkte Liste Java_Sitemap Generator XmlBuilder RangeMap StringFormatter VersionSafe XCopy JTextField CommandLine- ParamReader Bitmap-Grafik MultiMarkable- Buffered- InputStream JavaCache JdomUtil CollectionUtil XML Really Pull Parser Log-Filter Remote-Protokoll Sudoku-Generator Delegation statt Mehrfachvererbung Disjunct Interval Set WebCam_Demo Weiterentwicklung_Java Alaska-XBase++-Seite Projekte Philosophien Techniken Konzepte Sudoku Kontakt / Impressum Links SiteMap Letzte Aktualisierung: 28.10.2014 |
heterogene Map (HMap) in JavaDiese Lösung ist in einem Projekt entstanden, in welchem ein Fremdprodukt an eine Java-Applikation angebunden werden musste. Das Fremdprodukt hatte eine Schnittstelle welche Daten als Map empfing und zurückgab. Je nach Schlüssel waren unterschiedliche Datentypen als Wert aus der Map zu erwarten, wie String (natürlich), Date, Boolean, Integer und BigDecimal. Zur Erreichung einer besseren Typsicherheit zwischen Schlüsseln und Werten der Map wurde das Prinzip der HMap, heterogene Map, umgesetzt. (erledigt) Der Kern der Umsetzung der heterogenen Map mit Java-Generics ist die Festlegung von Typ-Parametern für Schlüssel und Wert (Key-Value) im Scope der jeweiligen put- und get-Methode, wodurch der Wert-Typ V durch den Schlüssel-Typ K bestimmt wird.
public interface HMapKey<V> { } public interface HeterogeneousMap { public <V> void put( final HMapKey<V> key , final V value ); public <V> V get( final HMapKey<V> key ); }Dazu kamen drei weitere Ziele: Je nach Schnittstellenaufruf (Map-Typ) können für den Schlüssel unterschiedliche Werte-Typen zutreffen. Demzufolge muss der Schlüssel auch gegenüber der jeweiligen Map abgesichert werden. (erledigt) Nicht jede Schreib- oder Lese-Operation zwischen der Applikation und dem Fremdprodukt liefert bzw erhält alle Schlüssel-Wert-Kombinationen, sondern die bestimmten in der jeweiligen Operation erlaubten/erforderlichen Schlüssel-Wert-Kombinationen. (erledigt) Weiterhin soll abgesichert werden, dass auf der schreibenden Seite (Map.put) alle erforderlichen Schlüssel-Wert-Kombinationen in die Map geschrieben werden. (offen)
Achtung: Erweiterungen und Fixes stelle ich ohne Historie
und ohne Ankündigung hier bereit. Lizenzbedingungen:
Die Programme, Quelltexte und Dokumentationen können ohne
irgendwelche Bedingungen kostenlos verwendet werden. |