blob: 460b63d67178af5ccb73d5388d28f36936968ffa [file] [log] [blame]
tomb41d1ac2014-09-24 01:51:24 -07001package org.onlab.onos.store.serializers;
2
3import com.esotericsoftware.kryo.Kryo;
4import com.esotericsoftware.kryo.Serializer;
5import com.esotericsoftware.kryo.io.Input;
6import com.esotericsoftware.kryo.io.Output;
Yuta HIGUCHI03fec1f2014-10-03 09:13:50 -07007
tomb41d1ac2014-09-24 01:51:24 -07008import org.onlab.onos.cluster.NodeId;
9
10/**
11 * Kryo Serializer for {@link org.onlab.onos.cluster.NodeId}.
12 */
13public final class NodeIdSerializer extends Serializer<NodeId> {
14
Yuta HIGUCHI03fec1f2014-10-03 09:13:50 -070015 /**
16 * Creates {@link NodeId} serializer instance.
17 */
18 public NodeIdSerializer() {
19 // non-null, immutable
20 super(false, true);
21 }
22
tomb41d1ac2014-09-24 01:51:24 -070023 @Override
24 public void write(Kryo kryo, Output output, NodeId object) {
Yuta HIGUCHI5bdebe32014-10-04 21:40:41 -070025 output.writeString(object.toString());
tomb41d1ac2014-09-24 01:51:24 -070026 }
27
28 @Override
29 public NodeId read(Kryo kryo, Input input, Class<NodeId> type) {
Yuta HIGUCHI5bdebe32014-10-04 21:40:41 -070030 final String id = input.readString();
tomb41d1ac2014-09-24 01:51:24 -070031 return new NodeId(id);
32 }
33}