Deutsche Drama Numbers validieren

Die deutsche Bundesnetzagentur stellt eine Reihe Drama Numbers für Medienproduktionen bereit. Diese Telefonnummern sind für die Nutzung in Fernsehen, Radio, Broschüren und anderen Medien gedacht, in denen keine tatsächlich genutzten Telefonnummern auftauchen sollten. Der Spider Murphy Gang mag man die Wahl der Telefonnummer +40 69 32168 verzeihen, denn die bestehenden Drama Numbers passen alle nicht in das Versmaß.Eine Drama Number in einem Beispiel zu nutzen ist eine freundliche Geste um niemanden Anrufe durch Witzbolde aufzubürden, andererseits sollte niemand eine Drama Number in ein Pflichtfeld der eigenen Web-Anwendung eingeben können. Daher sollte eine Validierung der Telefonnummer auch die deutschen Drama Numbers erkennen können. Die Telephone Bibliothek bietet solch eine Validierung über die @GermanDramaNumber Annotation.

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.

Jackson am Telefon

Immer wieder kommt es vor, dass man im eigenen Spring Boot REST-Controller Klassen verwenden möchte, die nicht dafür konstruiert wurden. In der Regel trifft dies auf Klassen zu, die aus Dritt-Bibliotheken stammen.

Das Mimikri Muster

Immer wieder müssen Software Entwickler neue APIs aus dem Boden stampfen und sich dabei überlegen, wie sie die neue API denn gestalten wollen. Es gibt eine Unmenge von Möglichkeiten, wie man Klassen und Methoden benennt, welche Pattern die API nutzt und welches grundlegende Konzept verfolgt wird.