1 package com.fasterxml.jackson.datatype.jsr310.ser;
2
3 import java.io.IOException;
4 import java.time.ZoneId;
5
6 import com.fasterxml.jackson.core.JsonGenerator;
7 import com.fasterxml.jackson.core.JsonToken;
8 import com.fasterxml.jackson.core.type.WritableTypeId;
9 import com.fasterxml.jackson.databind.SerializerProvider;
10 import com.fasterxml.jackson.databind.jsontype.TypeSerializer;
11 import com.fasterxml.jackson.databind.ser.std.ToStringSerializerBase;
12
13
14 public class ZoneIdSerializer extends ToStringSerializerBase
15 {
16 private static final long serialVersionUID = 1L;
17
18 public ZoneIdSerializer() { super(ZoneId.class); }
19
20 @Override
21 public void serializeWithType(Object value, JsonGenerator g,
22 SerializerProvider provider, TypeSerializer typeSer) throws IOException
23 {
24
25 WritableTypeId typeIdDef = typeSer.writeTypePrefix(g,
26 typeSer.typeId(value, ZoneId.class, JsonToken.VALUE_STRING));
27 serialize(value, g, provider);
28 typeSer.writeTypeSuffix(g, typeIdDef);
29 }
30
31 @Override
32 public String valueToString(Object value) {
33 return value.toString();
34 }
35 }
36