org.javers.core.json.typeadapter.commit.CdoSnapshotStateTypeAdapter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of javers-core Show documentation
Show all versions of javers-core Show documentation
JaVers - object auditing and diff framework for Java
package org.javers.core.json.typeadapter.commit;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonSerializationContext;
import org.javers.core.json.JsonTypeAdapterTemplate;
import org.javers.core.metamodel.object.CdoSnapshotState;
/**
* @author bartosz walacik
*/
public class CdoSnapshotStateTypeAdapter extends JsonTypeAdapterTemplate {
@Override
public Class getValueType() {
return CdoSnapshotState.class;
}
@Override
public CdoSnapshotState fromJson(JsonElement json, JsonDeserializationContext jsonDeserializationContext) {
throw new UnsupportedOperationException("use CdoSnapshotStateDeserializer");
}
@Override
public JsonElement toJson(CdoSnapshotState snapshotState, JsonSerializationContext context) {
JsonObject jsonObject = new JsonObject();
snapshotState.forEachProperty( (pName, pValue) -> jsonObject.add(pName, context.serialize(pValue)));
return jsonObject;
}
}