Hier nur ein kleiner Hinweis auf zwei Java-Bibliotheken, über die ich kürzlich gestolpert bin. Beide verwendet man, wenn man Java-Objekte versionieren möchte, also deren Zustände aufheben, um darauf später zugreifen zu können – also Historisierung, Versionierung – wie man es nennen möchte. Trotzdem beide recht unterschiedlich:
- Gson mit der guter Einfühung und Dokumentation: Gson ist eine sehr leichtgewichtige, einfach einzusetzende Library zum Serialisieren und De-Serialisieren von beliebigen Java-Objekten (die noch nichtmal
Cloneable
implementieren müssen). Im Kern gibt es als 2 Aufrufe:String myObjectAsJson = gson.toJson(myObject);
und
MyClass myObject = gson.fromJson(myObjectAsJson, MyClass.class)
Beides hat einiges an Möglichkeiten zum „tunen“ bzgl. Collections, verschachtelter Objekte, Behandlung von Null-Werten, Typ-Versionierung etc. In alles kommt man sehr schnell rein, weil es sehr einfach gehalten ist.
-
JaVers ist da schon deutlich aufwändiger angelegt: Es basiert zwar ebenfalls auf JSON-Serialisierung, enthält aber obendrein Persistenz und eine Abfragesprache (JQL) für Änderungen. Es integriert sich in Spring (Boot) u.v.a.m.