d24d6d3fb003f5379a5493984f63bf2933dfc196
[openflowjava.git] / util / src / main / java / org / opendaylight / openflowjava / util / ExperimenterDeserializerKeyFactory.java
1 /*\r
2  * Copyright (c) 2014 Pantheon Technologies s.r.o. and others. All rights reserved.\r
3  *\r
4  * This program and the accompanying materials are made available under the\r
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
6  * and is available at http://www.eclipse.org/legal/epl-v10.html\r
7  */\r
8 \r
9 package org.opendaylight.openflowjava.util;\r
10 \r
11 import org.opendaylight.openflowjava.protocol.api.keys.experimenter.ExperimenterIdDeserializerKey;\r
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.ErrorMessage;\r
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.ExperimenterMessage;\r
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandExperimenterCase;\r
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyExperimenterCase;\r
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.queue.property.header.QueueProperty;\r
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.table.features.properties.grouping.TableFeatureProperties;\r
18 \r
19 /**\r
20  * @author michal.polkorab\r
21  *\r
22  */\r
23 public abstract class ExperimenterDeserializerKeyFactory {\r
24 \r
25     /**\r
26      * @param version openflow wire version\r
27      * @param experimenterId experimenter / vendor ID\r
28      * @return key instance\r
29      */\r
30     public static ExperimenterIdDeserializerKey createExperimenterErrorDeserializerKey(\r
31             short version, Long experimenterId) {\r
32         return new ExperimenterIdDeserializerKey(version, experimenterId, ErrorMessage.class);\r
33     }\r
34 \r
35     /**\r
36      * @param version openflow wire version\r
37      * @param experimenterId experimenter / vendor ID\r
38      * @return key instance\r
39      */\r
40     public static ExperimenterIdDeserializerKey createExperimenterMessageDeserializerKey(\r
41             short version, Long experimenterId) {\r
42         return new ExperimenterIdDeserializerKey(version, experimenterId, ExperimenterMessage.class);\r
43     }\r
44 \r
45     /**\r
46      * @param version openflow wire version\r
47      * @param experimenterId experimenter / vendor ID\r
48      * @return key instance\r
49      */\r
50     public static ExperimenterIdDeserializerKey createMultipartReplyMessageDeserializerKey(\r
51             short version, Long experimenterId) {\r
52         return new ExperimenterIdDeserializerKey(version, experimenterId, MultipartReplyExperimenterCase.class);\r
53     }\r
54 \r
55     /**\r
56      * @param version openflow wire version\r
57      * @param experimenterId experimenter / vendor ID\r
58      * @return key instance\r
59      */\r
60     public static ExperimenterIdDeserializerKey createMultipartReplyTFDeserializerKey(\r
61             short version, Long experimenterId) {\r
62         return new ExperimenterIdDeserializerKey(version, experimenterId, TableFeatureProperties.class);\r
63     }\r
64 \r
65     /**\r
66      * @param version openflow wire version\r
67      * @param experimenterId experimenter / vendor ID\r
68      * @return key instance\r
69      */\r
70     public static ExperimenterIdDeserializerKey createQueuePropertyDeserializerKey(\r
71             short version, Long experimenterId) {\r
72         return new ExperimenterIdDeserializerKey(version, experimenterId, QueueProperty.class);\r
73     }\r
74 \r
75     /**\r
76      * @param version openflow wire version\r
77      * @param experimenterId experimenter / vendor ID\r
78      * @return key instance\r
79      */\r
80     public static ExperimenterIdDeserializerKey createMeterBandDeserializerKey(\r
81             short version, Long experimenterId) {\r
82         return new ExperimenterIdDeserializerKey(version, experimenterId, MeterBandExperimenterCase.class);\r
83     }\r
84 }