blob: e89c3792de63539deea0f1fa4c6b451313fc2525 [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
10// TODO move to util, etc.
Yuta HIGUCHIc7052012014-09-22 19:11:00 -070011/**
12 * Serializer for {@link PortNumber}.
13 */
Yuta HIGUCHI24a086b2014-09-21 23:28:41 -070014public final class PortNumberSerializer extends
15 Serializer<PortNumber> {
16
Yuta HIGUCHIc7052012014-09-22 19:11:00 -070017 /**
18 * Default constructor.
19 */
Yuta HIGUCHI24a086b2014-09-21 23:28:41 -070020 public PortNumberSerializer() {
21 // non-null, immutable
22 super(false, true);
23 }
24
25 @Override
26 public void write(Kryo kryo, Output output, PortNumber object) {
27 output.writeLong(object.toLong());
28 }
29
30 @Override
31 public PortNumber read(Kryo kryo, Input input,
32 Class<PortNumber> type) {
33 return PortNumber.portNumber(input.readLong());
34 }
35}