Mehr Zeit mit FreshMarker

Einer der Gründe für die Entwicklung der FreshMarker Bibliothek, war die fehlende Unterstützung der Java Time API in FreeMarker. Daher existierte schon in der ersten Implementierung neben der Unterstützung für java.util.Date, java.sql.Date und java.sql.Time auch eine Unterstützung für java.time.LocalDateTime, java.time.LocalDate und java.time.LocalTime. In diesem Beitrag wird die Formatierung für alle temporalen Typen verbessert. Bislang beherrschte FreshMarker nur die Standarddarstellung und eine Computer Audience Darstellung.

IBAN und BIC Validator (3)

Nachdem im vorherigen Beitrag zum Thema, die Prüfung der deutschen IBAN und BIC verbessert wurde, rundet dieser Beitrag die Validierung ab.

IBAN und BIC Validierung (2)

Im ersten Teil zu der IBAN und BIC Validierung wurden erste Implementierungen vorgestellt um die syntaktische Korrektheit von IBAN und BIC zu prüfen und bei der IBAN zusätzlich die Prüfsumme zu nutzen. In diesem Beitrag sollen zusätzliche landesspezifische Eigenschaften genutzt werden. Insbesondere die Informationen der Deutschen Bundesbank zu den deutschen Geldinstituten.

IBAN und BIC Validierung

Nach den Beiträgen zu der eher unbekannten Leitweg-ID und den geläufigen Telefonnummern wird sich dieser Beitrag mit den beiden bekanntesten IDs aus dem Zahlungswesen beschäftigen, der IBAN und dem BIC.

Gall’s Law

Das von John Gall schon 1975 in seinem Buch Systemantics: How Systems Work and Especially How They Fail aufgestellte Gesetz, ist eine der vielen wichtigen Faustregeln, die jeder System-Architekt und Software-Entwickler kennen sollte. Obwohl schon fast 50 Jahre alt, wird es von vielen Kollegen stoisch ignoriert.

Ahnendaten in der OrientDB

Java Bibliotheken

Ahnendaten haben ihre ganz speziellen Eigenschaften und Beschränkungen. Daher ist die Wahl der richtigen Persistenz nicht trivial. Eine interessante Wahl um Ahnendaten zu speichern ist die NoSQL Datenbank OrientDB.

Telephone Support für FreshMarker

Hat man eine Idee implementiert, dann ist die nächste oft nicht weit. Die Telephone Bibliothek kann nun schon mit Telefonnummern und Rufnummernblöcken umgehen und bietet Unterstützung für Bean Validation und Jackson. In diesem Beitrag kommt der Support der Template-Engine FreshMarker hinzu.

Rufnummernblöcke in der Telephone Bibliothek

Nachdem in den letzten Beiträgen zur Bibliothek Telephone, die Bean Validierung und der Jackson Support hinzugefügt wurden, geht es in diesem Beitrag um eine fachliche Ergänzung. Bisher behandelt die Bibliothek nur nationale und internationale Telefonnummern. In diesem Beitrag kommen Rufnummernblöcke hinzu. Ein Rufnummernblock ist eine Liste von aufeinanderfolgende Rufnummern. Im folgenden Beispiel sind 10 Rufnummern dargestellt, die alle die gemeinsame Basisrufnummer 1122 besitzen und die Durchwahlen 0 bis 9.

Jackson am Telefon (2)

Im ersten Teil des Beitrags wurde gezeigt, wie man die Klasse InternationalPhoneNumber aus dem Telephone Projekt mit der Jackson Bibliothek verwenden kann. Im zweiten Teil soll die erste Implementierung noch etwas anwendungsfreundlicher werden.

Validieren von Telefonnummern

Im letzten Beitrag wurde für die Klasse InternationalTelephoneNumber aus dem Projekt Telephone ein Serialisierer und ein Deserialisierer für Jackson erstellt. Damit ist es möglich diese Klasse direkt in REST Request einzusetzen. Zusätzlich wäre eine Validierung der Telefonnummern wünschenswert. Auf diese Weise könnten Telefonnummern mit speziellen Vorwahlen oder Durchwahlen abgelehnt werden.