JsonModelGen - Code-Generierung aus einem JSON-Schema

Der Code ist eigentlich nicht auf einem Stand, den ich veröffentlichen würde, aber vielleicht findet es ja doch jemand nützlich für irgendwas:

Eine Library, die aus einem JSON Schema, Version 03 ein Code-Modell erstellen kann.

Man kann da recht weit gehen. Wer etwas ausgereifteres sucht, sollte eher auf https://github.com/joelittlejohn/jsonschema2pojo zurückgreifen.

Meine Library, in der aktuellen Form, dient einem sehr speziellen Zweck:
[ul]
[li]Sie sollte ein JSON-Schema der Version 03 verarbeiten können (nicht Version 04)
[/li][li]Irgendwelche JSON-Serialisierungs-Annotationen interessieren mich nicht
[/li][li]Es sollten JavaDocs und “Validation Statements” generiert werden. Wenn im JSON-Schema steht, dass irgendeine Number-Property “required” ist, und dass der Wert der Zahl >=0 sein muss, dann sollte der setter, der im Code-Modell generiert wird, bitteschön überprüfen, dass der übergebene Parameter nicht null ist (und wenn doch, dann eine NullPointerException werfen), und dass der Parameter >=0 ist (und wenn nicht, eine IllegalArgumentException werfen)
[/li][li]Das ganze zielt im Moment einzig und alleine und ganz ausschließlich darauf ab, ein Datenmodell für glTF zu generieren - und zwar so, wie ich es gerade brauche :rolleyes: (d.h. es gibt noch nicht viele Konfigurations-Stellschrauben)
[/li][/ul]

Also, wer ein Datenmodell für glTF braucht, kann einfach die Haupklasse starten, die sich dann das (hartvertdrahtete) glTF-specification-Schema aus dem Netz lutscht, dafür eine in-Memory-Repräsentation des Schemas erzeugt, die in ein CodeModel umwandelt, und das dann in Form von 30 Java-Klassen in ein (ebenso hartverdrahtetes) Verzeichnis dumpt.

Mit diesen Klassen kann man dann eine glTF-Datei mit Jackson lesen, was beeindruckenderweise dann wirklich mit
GlTF gltf = new ObjectMapper().readValue(inputStream, GlTF.class);
getan ist. (Ja. Eine Zeile)

Dass (bzw. in wie weit) das ganze dann funktioniert, sieht man ansatzweise an den Ergebnissen, die ich in https://forum.byte-welt.net/news-und-schlagzeilen-aus-der-it-welt/news/17609-khronos-finalisiert-gltf-1-0-fuer-effiziente-uebertragung-von-3d-szenen-und-modellen.html#post131692 gepostet hatte. Wenn sich das ganze etwas festgerüttelt hat, werde ich das auch alles als demo für Rendering hochladen.