All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.javers.core.json.typeadapter.change.NewObjectTypeAdapter Maven / Gradle / Ivy

There is a newer version: 7.6.1
Show newest version
package org.javers.core.json.typeadapter.change;

import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import java.util.Optional;
import org.javers.core.commit.CommitMetadata;
import org.javers.core.diff.changetype.NewObject;
import org.javers.core.metamodel.type.TypeMapper;

import static java.util.Optional.ofNullable;

class NewObjectTypeAdapter extends ChangeTypeAdapter {

    public NewObjectTypeAdapter(TypeMapper typeMapper) {
        super(typeMapper);
    }

    @Override
    public NewObject fromJson(JsonElement json, JsonDeserializationContext context) {
        JsonObject jsonObject = (JsonObject) json;

        CommitMetadata commitMetadata = deserializeCommitMetadata(jsonObject, context);
        return new NewObject(deserializeAffectedCdoId(jsonObject,context), Optional.empty(), ofNullable(commitMetadata));
    }

    @Override
    public Class getValueType() {
        return NewObject.class;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy