blob: 82b7a70581842fb0a088c48106e1b48c31b72277 [file] [log] [blame]
Yuta HIGUCHIc7052012014-09-22 19:11:00 -07001package org.onlab.onos.store.device.impl;
2
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}