CommentTemplate - Semantischer Zucker für die Template-Erstellung

Süß, ohne dick zu machen

Christian Wende, Mirko Seifert, Jendrik Johannes


Die Verarbeitung von Strings gehört zum täglichen Geschäft eines jeden Programmierers. So groß die Anwendung und so hoch geschichtet die Architektur auch ist – letztendlich verarbeiten alle Anwendungen Daten, die eingelesen und serialisiert werden müssen. Oft arbeiten wir dabei direkt mit dem String.class-API und einigen Hilfsklassen direkt aus dem JDK. Leider hat dieses API ein paar Schwächen in Sachen String-Erzeugung (also Serialisierung), die oft nach mächtigerem Tooling verlangen, wenn komplexere String-Erzeugungen (z. B. Website- oder Codegenerierung) anstehen. Zwar gibt es eine Menge Bibliotheken, Frameworks und Tools für unterschiedliche Anwendungsfälle in der Java-Welt. Diese sind jedoch oft schwergewichtig, nicht für jeden Anwendungsfall geeignet und fordern einen hohen initialen Einarbeitungsaufwand.

CommentTemplate ist eine leichtgewichtige Lösung mit wenigen Konzepten, die innerhalb von fünf Minuten erlernbar ist. Es wurde unter der Prämisse entwickelt, die größten Schwächen des nativen Java-String-API, im Kontext von String-Erzeugung, auszugleichen und so mit dem geringsten Lern- und Einarbeitungsaufwand den größten Nutzen zu erzeugen. CommentTemplate nutzt dabei normale mehrzeilige Kommentare der Form /* Kommentar */, um es dem Entwickler zu ermöglichen, Template-Inhalte direkt in Java-Klassen zu spezifizieren – daher der Name CommentTemplate. Bevor wir die Funktionen und die Handhabung von CommentTemplate an einem Beispiel verdeutlichen, schauen wir uns im Folgenden kurz die erwähnten Schwächen des Java-String-API an, um den Nutzen von CommentTemplate zu verdeutlichen.

Eigenschaften von CommentTemplateCommentTemplate verwendet Standard-Java und mehrzeilige Kommentare für die Template-Definition – es muss keine neue Sprache erlernt werden, und das vorhandene Java-Tooling kann weiter genutzt werden.CommentTemplate hat keine Laufzeitabhängigkeiten.CommentTemplate ist für die Generierung beliebiger Strings (Webseiten, Code, XML ...) verwendbar.In CommentTemplate kann die Notation für Variablenreferenzen in jedem Template frei gewählt werden.In CommentTemplate können sowohl Templates als auch die zu erzeugenden Strings intuitiv mit Einrückungen (Tabulatoren) formatiert werden.

Schwächen der Java-String-Klasse bei der String-Erzeugung

Mehrzeilige Strings: Die erste Problematik entspringt der Java-Sprache selbst, die keine Zeilenumbrüche innerhalb von String-Literalen erlaubt. Man hat zwar Möglichkeiten, Strings mit Zeilenumbrüchen zu erzeugen – b...

CommentTemplate - Semantischer Zucker für die Template-Erstellung

Süß, ohne dick zu machen

Christian Wende, Mirko Seifert, Jendrik Johannes


Die Verarbeitung von Strings gehört zum täglichen Geschäft eines jeden Programmierers. So groß die Anwendung und so hoch geschichtet die Architektur auch ist – letztendlich verarbeiten alle Anwendungen Daten, die eingelesen und serialisiert werden müssen. Oft arbeiten wir dabei direkt mit dem String.class-API und einigen Hilfsklassen direkt aus dem JDK. Leider hat dieses API ein paar Schwächen in Sachen String-Erzeugung (also Serialisierung), die oft nach mächtigerem Tooling verlangen, wenn komplexere String-Erzeugungen (z. B. Website- oder Codegenerierung) anstehen. Zwar gibt es eine Menge Bibliotheken, Frameworks und Tools für unterschiedliche Anwendungsfälle in der Java-Welt. Diese sind jedoch oft schwergewichtig, nicht für jeden Anwendungsfall geeignet und fordern einen hohen initialen Einarbeitungsaufwand.

CommentTemplate ist eine leichtgewichtige Lösung mit wenigen Konzepten, die innerhalb von fünf Minuten erlernbar ist. Es wurde unter der Prämisse entwickelt, die größten Schwächen des nativen Java-String-API, im Kontext von String-Erzeugung, auszugleichen und so mit dem geringsten Lern- und Einarbeitungsaufwand den größten Nutzen zu erzeugen. CommentTemplate nutzt dabei normale mehrzeilige Kommentare der Form /* Kommentar */, um es dem Entwickler zu ermöglichen, Template-Inhalte direkt in Java-Klassen zu spezifizieren – daher der Name CommentTemplate. Bevor wir die Funktionen und die Handhabung von CommentTemplate an einem Beispiel verdeutlichen, schauen wir uns im Folgenden kurz die erwähnten Schwächen des Java-String-API an, um den Nutzen von CommentTemplate zu verdeutlichen.

Eigenschaften von CommentTemplateCommentTemplate verwendet Standard-Java und mehrzeilige Kommentare für die Template-Definition – es muss keine neue Sprache erlernt werden, und das vorhandene Java-Tooling kann weiter genutzt werden.CommentTemplate hat keine Laufzeitabhängigkeiten.CommentTemplate ist für die Generierung beliebiger Strings (Webseiten, Code, XML ...) verwendbar.In CommentTemplate kann die Notation für Variablenreferenzen in jedem Template frei gewählt werden.In CommentTemplate können sowohl Templates als auch die zu erzeugenden Strings intuitiv mit Einrückungen (Tabulatoren) formatiert werden.

Schwächen der Java-String-Klasse bei der String-Erzeugung

Mehrzeilige Strings: Die erste Problematik entspringt der Java-Sprache selbst, die keine Zeilenumbrüche innerhalb von String-Literalen erlaubt. Man hat zwar Möglichkeiten, Strings mit Zeilenumbrüchen zu erzeugen – b...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang