Legacy AutoClosable

Nichts ist ärgerlicher bei der Verbesserung von Legacy Software als die Abhängigkeit von Klassen, die sich modernen Sprach Konstrukten verweigern. Eine besondere Gruppe dabei sind all die Klassen, die sich zieren vom Interface AutoClosable zu erben. Diese Klassen sind durch veraltete Abhängigkeiten in das eigene Projekt geflossen und diese Abhängigkeiten sind aus mannigfaltigen Gründen dem Zugriff des Entwicklers entzogen.

FreshMarker, eine frische Template Engine für Java

Dieser und weitere Beiträge werden sich mit der Template-Engine FreshMarker beschäftigen. Das Besondere an dieser Template-Engine ist, dass sie noch nicht existiert. Die Beiträge werden, parallel zur Entwicklung der Template-Engine, technische Entscheidungen und verwendete Konzepte beleuchten.

Build Automatisierung mit eigenen Mojos verbessern

Das automatisierte Erstellen von Software hat eine lange Tradition. GNU Make erblickte 1976 das Licht der Welt, Apache Ant im Jahr 2000, Apache Maven 2002 und Gradle 2007. Dies sind nur die bekanntesten Tools zur Build Automatisierung, viele weitere sind bis heute entstanden und es werden wohl noch einige erfunden werden. Alle diese Tools haben ihre Vorzüge und Nachteile und je nach Projekt und Technologie bietet sich eine Tool besonders an. Häufig kommt ein Entwicklungsteam mit den Maven Standard Plugins aus. Hin und wieder gibt es aber den Moment, wo ein zusätzliches Plugin wünschenswert wäre.

Stammbaumprüfung mit BPMN

Häufig bleiben interessante Erweiterungen für Anwendungen liegen, weil der Aufwand für die Ablauflogik zu hoch erscheint. Eine solche Erweiterung ist die Automatisierte Stammbaumfreigabe für den Ancestor Rest Service aus dem Beitrag REST in Peace.

GEDCOM im Detail

„Der Zauber steckt immer im Detail.“ – Theodor Fontane Im vorherigen Beitrag Stammbäume für Entwickler wurde grob skizziert, wie GEDCOM Dateien mit einem einfachen Java Programm eingelesen werden können. Hier werden wir einige Details der Spezifikation genauer betrachten und zeigen, wie sie in Java leicht umgesetzt werden können. Das Einlesen der Informationen geschah bislang nur über die Personen und … Weiterlesen

Stammbäume für Entwickler

„Stammbäume sind schon komisch, alle Bäume haben doch einem Stamm“ ― Alicia

Stammbäume sind für viele Menschen ein spannendes Steckenpferd, egal ob Fachmann oder Laie, ob Historiker oder Nostalgiker, ob Jung oder Alt, jeder freut sich über den Anblick der eigenen Ahnenreihe. Bei dem einen reicht sie weit in die Vergangenheit, bei dem anderen finden sich bloß Eltern und Großeltern.

Weiterlesen

Und noch ein Fluent Builder

Nachdem wir schon zwei Ansätze für einen Fluent Builder angeschaut haben, wollen wir uns diesmal den Einsatz einer Chain in einem Builder anschauen.

Häufig möchte man einen Builder wiederverwenden, statt ihn jedes Mal für eine Instanz neu zu erzeugen, zu konfigurieren und dann wegzuwerfen.

Weiterlesen

Noch mehr Besucher

Im vorherigen Beitrag wurde das Visitor Pattern auf ein Enum angewendet, um das Enum nicht mit vielen Methoden zu überfrachten. Wie andere Klassen sollte ein Enum nicht gegen die Prinzipien des objektorientierten Designs verstoßen. Die vorgestellte Lösung funktioniert zwar sehr gut, aber was soll der Entwickler machen, wenn neue Klassen die Bühne betreten? Nachdem er also ein … Weiterlesen

Zu Besuch bei den Enums

Die Enums in Java sind eine typsichere Alternative zu den früher verwendeten Konstanten. Mit solchen Konstanten hat man die üblichen Probleme, dass man sie überall fehlerhafter Weise einsetzen oder anstelle der Konstanten andere Werte des Typs verwenden kann. Besser also der Einsatz von Enums, die als echter Typ nur die definierten Konstanten zulassen. Enums erlauben … Weiterlesen