Class JsonConverter


  • public class JsonConverter
    extends java.lang.Object
    Javers is meant to support various persistence stores for any kind of client's data, hence we use JSON format to serialize/deserialize client's domain objects.

    Javers uses Gson library which provides neat and pretty JSON representation for well known Java types.

    But sometimes Gson's default JSON representation isn't appropriate for your domain model. This is often the case when dealing with Values like Date or Money.

    If so, you can easily customize Javers serialization/deserialization behaviour by providing plugins for each of your custom type. Javers accepts several kind of plugins:
    • BasicStringTypeAdapter - extend it if you need to represent Value as single String and don't want to deal with JSON API. For concrete class example see LocalDateTimeTypeAdapter.
    • JsonTypeAdapter - use it if you need full control over JSON conversion
    • native Gson TypeAdapter
    • native Gson JsonSerializer
    • native Gson JsonDeserializer
    Javers provides JsonTypeAdapters for some well known Values like java.time.LocalDateTime, org.joda.time.LocalDateTime.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      <T> T fromJson​(com.google.gson.JsonElement json, java.lang.Class<T> expectedType)  
      <T> T fromJson​(java.io.Reader reader, java.lang.reflect.Type expectedType)  
      <T> T fromJson​(java.lang.String json, java.lang.Class<T> expectedType)  
      java.lang.Object fromJson​(java.lang.String json, java.lang.reflect.Type expectedType)  
      com.google.gson.JsonElement fromJsonToJsonElement​(java.lang.String json)  
      CdoSnapshot fromSerializedSnapshot​(CdoSnapshotSerialized cdoSnapshotSerialized)  
      java.lang.String toJson​(java.lang.Object value)  
      com.google.gson.JsonElement toJsonElement​(java.lang.Object value)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • toJson

        public java.lang.String toJson​(java.lang.Object value)
      • toJsonElement

        public com.google.gson.JsonElement toJsonElement​(java.lang.Object value)
      • fromJson

        public <T> T fromJson​(java.lang.String json,
                              java.lang.Class<T> expectedType)
      • fromJson

        public java.lang.Object fromJson​(java.lang.String json,
                                         java.lang.reflect.Type expectedType)
      • fromJsonToJsonElement

        public com.google.gson.JsonElement fromJsonToJsonElement​(java.lang.String json)
      • fromJson

        public <T> T fromJson​(com.google.gson.JsonElement json,
                              java.lang.Class<T> expectedType)
      • fromJson

        public <T> T fromJson​(java.io.Reader reader,
                              java.lang.reflect.Type expectedType)