blob: 3abb7847388978f4acd0aa5c07fc931bab25c737 [file] [log] [blame]
tom0872a172014-09-23 11:24:26 -07001package org.onlab.onos.store.serializers;
Yuta HIGUCHIc7052012014-09-22 19:11:00 -07002
3import org.onlab.onos.net.provider.ProviderId;
4
5import com.esotericsoftware.kryo.Kryo;
6import com.esotericsoftware.kryo.Serializer;
7import com.esotericsoftware.kryo.io.Input;
8import com.esotericsoftware.kryo.io.Output;
9
10//TODO move to util, etc.
11/**
12 * Serializer for {@link ProviderId}.
13 */
14public class ProviderIdSerializer extends Serializer<ProviderId> {
15
16 /**
17 * Default constructor.
18 */
19 public ProviderIdSerializer() {
20 // non-null, immutable
21 super(false, true);
22 }
23
24 @Override
25 public void write(Kryo kryo, Output output, ProviderId object) {
26 output.writeString(object.scheme());
27 output.writeString(object.id());
28 }
29
30 @Override
31 public ProviderId read(Kryo kryo, Input input, Class<ProviderId> type) {
32 String scheme = input.readString();
33 String id = input.readString();
34 return new ProviderId(scheme, id);
35 }
36
37}