package org.fenixedu.bennu.core.api.json; import java.math.BigInteger; import org.fenixedu.bennu.core.annotation.DefaultJsonAdapter; import org.fenixedu.bennu.core.json.BennuCoreJsonException; import org.fenixedu.bennu.core.json.JsonBuilder; import org.fenixedu.bennu.core.json.JsonCreator; import org.fenixedu.bennu.core.json.JsonViewer; import com.google.gson.JsonElement; import com.google.gson.JsonPrimitive; @DefaultJsonAdapter(BigInteger.class) public class BigIntegerJsonAdapter implements JsonViewer<BigInteger>, JsonCreator<BigInteger> { @Override public BigInteger create(JsonElement json, JsonBuilder ctx) { try { return json.getAsBigInteger(); } catch (NumberFormatException e) { throw BennuCoreJsonException.valueIsNotAnInteger(json.toString()); } } @Override public JsonElement view(BigInteger obj, JsonBuilder ctx) { return new JsonPrimitive(obj); } }