blob: c9820a53c05860952aa33584a6dd2130d8eb7d3b [file] [log] [blame]
Ray Milkey2fa6ca42014-06-13 15:38:20 -07001package net.onrc.onos.core.topology.web.serializers;
2
3import net.onrc.onos.core.topology.PortEvent.SwitchPort;
4import org.codehaus.jackson.JsonGenerator;
5import org.codehaus.jackson.map.SerializerProvider;
6import org.codehaus.jackson.map.ser.std.SerializerBase;
7import org.openflow.util.HexString;
8
9import java.io.IOException;
10
11/**
12 * JSON Serializer for SwitchPorts.
13 */
14public class SwitchPortSerializer extends SerializerBase<SwitchPort> {
15
16 /**
17 * Public constructor - just calls its super class constructor.
18 */
19 public SwitchPortSerializer() {
20 super(SwitchPort.class);
21 }
22
23 /**
24 * Serializes a SwitchPort object.
25 *
26 * @param switchPort object to serialize
27 * @param jsonGenerator generator to add the serialized object to
28 * @param serializerProvider not used
29 * @throws IOException if the serialization fails
30 */
31 @Override
32 public void serialize(final SwitchPort switchPort,
33 final JsonGenerator jsonGenerator,
34 final SerializerProvider serializerProvider)
35 throws IOException {
36 jsonGenerator.writeStartObject();
37
38 jsonGenerator.writeStringField("dpid",
39 HexString.toHexString(switchPort.getDpid()));
40 jsonGenerator.writeStringField("portNumber",
41 Long.toString(switchPort.getNumber()));
42
43 jsonGenerator.writeEndObject();
44 }
45
46}