febb4adb83a9fc3ad4f838a4d4c5e5e745896535
[onosfw.git] /
1 package org.onosproject.store.serializers;
2
3 import org.onosproject.net.DefaultAnnotations;
4
5 import com.esotericsoftware.kryo.Kryo;
6 import com.esotericsoftware.kryo.Serializer;
7 import com.esotericsoftware.kryo.io.Input;
8 import com.esotericsoftware.kryo.io.Output;
9
10 import java.util.HashMap;
11
12 public class AnnotationsSerializer extends Serializer<DefaultAnnotations> {
13
14     public AnnotationsSerializer() {
15         super(false, true);
16     }
17
18     @Override
19     public void write(Kryo kryo, Output output, DefaultAnnotations object) {
20         kryo.writeObject(output, object.asMap());
21     }
22
23     @Override
24     public DefaultAnnotations read(Kryo kryo, Input input, Class<DefaultAnnotations> type) {
25         DefaultAnnotations.Builder b = DefaultAnnotations.builder();
26         HashMap<String, String> map = kryo.readObject(input, HashMap.class);
27         map.forEach((k, v) -> b.set(k, v));
28
29         return b.build();
30     }
31
32 }