Respackopts/src/main/java/io/gitlab/jfronny/respackopts/gson/ConditionDeserializer.java

20 lines
734 B
Java

package io.gitlab.jfronny.respackopts.gson;
import io.gitlab.jfronny.gson.*;
import io.gitlab.jfronny.muscript.ast.*;
import io.gitlab.jfronny.respackopts.model.*;
import java.lang.reflect.*;
public class ConditionDeserializer implements JsonDeserializer<Condition> {
@Override
public Condition deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
String source = "Source unavailable";
if (json.isJsonPrimitive()) {
JsonPrimitive primitive = json.getAsJsonPrimitive();
if (primitive.isString()) source = primitive.getAsString();
}
return new Condition(source, context.deserialize(json, BoolExpr.class));
}
}