blob: f546f63bba7bb570b2fc82ae5dcdedeb8eae0879 [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
Yuta HIGUCHIc7052012014-09-22 19:11:00 -070010/**
11 * Serializer for {@link ProviderId}.
12 */
13public class ProviderIdSerializer extends Serializer<ProviderId> {
14
15 /**
Yuta HIGUCHI03fec1f2014-10-03 09:13:50 -070016 * Creates {@link ProviderId} serializer instance.
Yuta HIGUCHIc7052012014-09-22 19:11:00 -070017 */
18 public ProviderIdSerializer() {
19 // non-null, immutable
20 super(false, true);
21 }
22
23 @Override
24 public void write(Kryo kryo, Output output, ProviderId object) {
25 output.writeString(object.scheme());
26 output.writeString(object.id());
27 }
28
29 @Override
30 public ProviderId read(Kryo kryo, Input input, Class<ProviderId> type) {
31 String scheme = input.readString();
32 String id = input.readString();
33 return new ProviderId(scheme, id);
34 }
35
36}