Builder

Das kleine Groovy-Grails-Lexikon

Builder (deutsch auch „Erbauer“) sind Klassen, deren Zweck darin besteht, Instanzen einer anderen (oder auch der eigenen) Klasse zu „bauen“, d.h. sie zu erzeugen und mit bestimmten Eigenschaften zu versehen.

In Groovy beziehen Builder-Klassen ihren besonderen Reiz daraus, dass sie die dynamischen Fähigkeiten der Sprache elegant nutzen können, um auch den Aufbau komplexer hierarchischer Strukturen in übersichtlicher Weise zu gestatten.

Die Groovy-Standardbibliothek enthält zahlreiche Beispiele von Builder-Klassen, darunter den MarkupBuilder für den Aufbau von XML- und HTML-Dokumenten, den SwingBuilder für den Aufbau von Swing-Oberflächen und den NodeBuilder für den Aufbau von Hierarchien aus Node-Objekten.

Folgendes Beispielskript, das einen MarkupBuilder nutzt, generiert eine HTML-Seite mit einer sortierten Aufzählung aller aktuellen Umgebungsvariablen und deren Werten und gibt das Ergebnis auf der Konsole aus.

pageTitle = "Umgebungsvariablen"

page = new groovy.xml.MarkupBuilder()
page.html {
    head {
        title pageTitle
    }
    body {
        h1 pageTitle
        ul {
            System.getenv().entrySet().
                     sort{x,y -> x.key<=>y.key}.each {
                li "$it.key = $it.value"                    
            }
        }
    }
}

println page

Die Funktionalität dieses Beispiels entspricht dem Beispiel zu Template.

Groovy-Dokumentation

lexikon/builder.txt · Zuletzt geändert: 02.05.2008 von jst
Recent changes RSS feed Creative Commons License Donate Driven by DokuWiki