ea500b7c25cb76cd930f584a1b1d5d347beaa20b
[openflowjava.git] / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / deserialization / factories / ExperimenterMessageFactory.java
1 package org.opendaylight.openflowjava.protocol.impl.deserialization.factories;\r
2 \r
3 import io.netty.buffer.ByteBuf;\r
4 \r
5 import org.opendaylight.openflowjava.protocol.impl.deserialization.OFDeserializer;\r
6 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.ExperimenterMessage;\r
7 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.ExperimenterMessageBuilder;\r
8 \r
9 /**\r
10  * \r
11  * @author michal.polkorab, \r
12  * @author timotej.kubas\r
13  *\r
14  */\r
15 public class ExperimenterMessageFactory implements OFDeserializer<ExperimenterMessage>{\r
16 \r
17     private static ExperimenterMessageFactory instance;\r
18     \r
19     private ExperimenterMessageFactory() {\r
20         //singleton\r
21     }\r
22     \r
23     \r
24     /**\r
25      * @return singleton factory\r
26      */\r
27     public static ExperimenterMessageFactory getInstance(){\r
28         if (instance == null){\r
29            instance = new ExperimenterMessageFactory(); \r
30         }\r
31         \r
32         return instance;\r
33     }\r
34 \r
35     @Override\r
36     public ExperimenterMessage bufferToMessage(ByteBuf rawMessage, short version) {\r
37         ExperimenterMessageBuilder emb = new ExperimenterMessageBuilder();\r
38         emb.setVersion(version);\r
39         emb.setXid(rawMessage.readUnsignedInt());\r
40         emb.setExperimenter(rawMessage.readUnsignedInt());\r
41         emb.setExpType(rawMessage.readUnsignedInt());\r
42         return emb.build();\r
43     }\r
44     \r
45     \r
46 }\r