Ansprechperson
Max Bureck
Dipl.-Inform. Max Bureck
Wiss. Mitarbeiter (Senior)
Geschäftsbereich SQC
+49 30 3463-7321
xtensions library, sqc, xtend, java, fraunhofer fokus
iStock / nikada

Xtensions Library 1.0.0 veröffentlicht

News vom 10. Apr. 2018

Mit der Xtensions Library 1.0.0 – einer Bibliothek für die Programmiersprache Xtend – stehen seit März 2018 gut getestete und umfassend dokumentierte Hilfsfunktionen für Xtend-Developer zur Verfügung.

Im Geschäftsbereich SQC von Fraunhofer FOKUS wird die Programmiersprache Xtend seit Längerem in Projekten mit dem Fokus auf modellgetriebene Softwareentwicklung eingesetzt. Zu den Anwendungsfällen gehören unter anderem das Generieren von Quelltexten und weiteren Ressourcen aus eigens definierten domänenspezifischen Sprachen. Zudem wurden umfangreiche Modell-zu-Modell Transformationen mittels Xtend umgesetzt.

Die Xtensions Bibliothek wurde entwickelt, da die Xtend-Standardbibliothek zwar frühere Java-Versionen (z. B. JDK 7 und früher) unterstützt, aber nicht die gleiche Unterstützung für Java JDK 8 bietet. Ein Beispiel hierfür ist, dass die Xtend-Standardbibliothek eine Filtermethode für Iterables und Iteratoren anhand der Klasse der enthaltenen Elemente bereitstellt, aber keine entsprechende Methode für die neue Stream Schnittstelle, welche mit Java 8 eingeführt wurde.

Als Lösung wurde von SQC-Wissenschaftlerinnen  und Wissenschaftlern die Xtensions Library 1.0.0 entwickelt, die Erweiterungsmethoden auch für Java 8 Klassen anbietet. Außerdem stellt die Bibliothek auch andere nützliche Funktionen wie die Iteration über primitive numerische Werte, ohne auf Objekte aus dem Heap zurückzugreifen, bereit. Hauptsächlich handelt es sich bei der Xtensions Library um eine Sammlung von Erweiterungsmethoden für Klassen in der Java-8-Standardbibliothek und der Xtend-Standardbibliothek. Ziele sind unter anderem:

  • Hinzufügen von Erweiterungsmethoden zu Java 8 JDK-Typen, damit Nutzer mit Xtend intuitiver arbeiten können
  • Einige ausgewählte Java JDK 9-Methoden auf Java 8 verfügbar zu machen
  • Unterstützung für Iterationen über primitive Werte, ohne auf Boxing zurückgreifen zu müssen
  • Hinzufügen von einigen nützlichen zusätzlichen Erweiterungsmethodenzu bestehenden Standard-JDK- und Xtend-Standard-Bibliotheksklassen

Bereits in Planung befinden sich weitere Funktionen, die besonders im Zusammenhang mit Modell-zu-Modell Transformationen eine Hilfe darstellen sollen.

Auf der Projektseite finden Sie detaillierte Informationen und Dokumentationen mit Beispielen zur Verwendung der bereitgestellten Funktionen. Interessierte sind herzlich eingeladen, die Bibliothek auszuprobieren und zum Projekt beizutragen.


Weiterführende Links: