Zur Einführung in das Thema hat Daniel zu Beginn verschiedene Sprachfeatures von Groovy vorgestellt, die eine Erstellung von DSLs (Domain Specific Languages) ermöglichen. DSLs werden bekanntlich dafür verwendet, um bestimmte Funktionsteile einer Software formalisiert darzustellen und technisch versierten Endnutzern zur Selbstprogrammierung zur Verfügung zu stellen.
Im zweiten Schritt präsentierte Daniel, wie eine DSL in die eigene Software integriert werden kann, um dann zu zeigen, wie man nach der Integration sicherstellt, dass neben den in DSL beschriebenen keine anderen Funktionen der Software oder der Laufzeitumgebung ausgeführt werden können.
Ob dies der Fall ist, kann man am besten anhand so genannter AST-Transformationen* testen: Daniel zeigte, wie man mit ihrer Hilfe noch vor der Ausführung der DSL prüfen kann, ob tatsächlich nur Bestandteile der DSL aktiv sind.
Darauf aufbauend hat Daniel im letzten Teil des Vortrags gezeigt, wie AST-Transformationen im eigentlichen Sinne dazu verwendet werden können, den AST zu modifizieren und somit seine DSL noch zu verfeinern bzw. zu erweitern. So hat er z. B. neue Klassen zur Laufzeit hinzugefügt und aus Funktionsaufrufen Controll-Statements gemacht.
*AST steht für Abstract Syntax Tree und ist eine programmatische Darstellung aller Bestandteile eines Groovy-Skripts
Informationen zur Java User Group Hessen:
Die Java User Group Hessen (JUGH) ist Teil des internationalen Netzwerkes von Java Communities, die sich der weltweiten Verbreitung von Java-Know-how verschrieben haben. Im Sommer 2009 wurde sie von Entwicklern der Micromata GmbH ins Leben gerufen und kann seither auf eine ganze Reihe spannender Treffen und Workshops zum Thema Java zurückblicken, darunter auch solche von namhaften Java-Größen wie Adam Bien oder Eberhard Wolff. Zur Tradition der JUGH gehören außerdem so genannte "Stand-up Codings", wo jeder Java-Entwickler die Gelegenheit bekommt, spontan zu einem Technologiethema seiner Wahl zu sprechen. Die JUGH trifft sich einmal im Monat (in der Regel immer am letzten Donnerstag) in Kassel. Eine Voranmeldung ist meistens nicht nötig, der Eintritt ist frei. Kontakt: jugh@micromata.de. Weitere Informationen sind unter www.jugh.de erhältlich.