blob: 37929667ed55e4cf2631707090d4008d0cdb4196 [file] [log] [blame]
tom0872a172014-09-23 11:24:26 -07001package org.onlab.onos.store.serializers;
Yuta HIGUCHI24a086b2014-09-21 23:28:41 -07002
3import org.onlab.onos.net.PortNumber;
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 PortNumber}.
12 */
Yuta HIGUCHI24a086b2014-09-21 23:28:41 -070013public final class PortNumberSerializer extends
14 Serializer<PortNumber> {
15
Yuta HIGUCHIc7052012014-09-22 19:11:00 -070016 /**
Yuta HIGUCHI03fec1f2014-10-03 09:13:50 -070017 * Creates {@link PortNumber} serializer instance.
Yuta HIGUCHIc7052012014-09-22 19:11:00 -070018 */
Yuta HIGUCHI24a086b2014-09-21 23:28:41 -070019 public PortNumberSerializer() {
20 // non-null, immutable
21 super(false, true);
22 }
23
24 @Override
25 public void write(Kryo kryo, Output output, PortNumber object) {
26 output.writeLong(object.toLong());
27 }
28
29 @Override
30 public PortNumber read(Kryo kryo, Input input,
31 Class<PortNumber> type) {
32 return PortNumber.portNumber(input.readLong());
33 }
34}