1 package civitas.util;
2
3 import java.io.IOException;
4
5 import com.fasterxml.jackson.core.JsonParser;
6 import com.fasterxml.jackson.databind.DeserializationContext;
7 import com.fasterxml.jackson.databind.JsonNode;
8 import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
9
10 import civitas.common.CommonUtil;
11
12 class CivitasBigIntegerDeserializer extends StdDeserializer<CivitasBigInteger> {
13
14 private static final long serialVersionUID = 1L;
15
16 protected CivitasBigIntegerDeserializer() {
17 this(null);
18 }
19
20 protected CivitasBigIntegerDeserializer(final Class<CivitasBigInteger> vc) {
21 super(vc);
22 }
23
24 @Override
25 public CivitasBigInteger deserialize(final JsonParser p, final DeserializationContext ctxt) throws IOException {
26 JsonNode node = p.getCodec().readTree(p);
27 return CommonUtil.asBigint(node.asText());
28 }
29 }