2 * Copyright (c) 2014 Pantheon Technologies s.r.o. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.openflowjava.util;
11 import org.opendaylight.openflowjava.protocol.api.keys.ExperimenterIdDeserializerKey;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.ErrorMessage;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.ExperimenterMessage;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.meter.band.header.meter.band.MeterBandExperimenterCase;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.reply.multipart.reply.body.MultipartReplyExperimenterCase;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.queue.property.header.QueueProperty;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.table.features.properties.grouping.TableFeatureProperties;
20 * @author michal.polkorab
23 public abstract class ExperimenterDeserializerKeyFactory {
25 private ExperimenterDeserializerKeyFactory() {
30 * @param version openflow wire version
31 * @param experimenterId experimenter / vendor ID
32 * @return key instance
34 public static ExperimenterIdDeserializerKey createExperimenterErrorDeserializerKey(
35 short version, Long experimenterId) {
36 return new ExperimenterIdDeserializerKey(version, experimenterId, ErrorMessage.class);
40 * @param version openflow wire version
41 * @param experimenterId experimenter / vendor ID
42 * @return key instance
44 public static ExperimenterIdDeserializerKey createExperimenterMessageDeserializerKey(
45 short version, Long experimenterId) {
46 return new ExperimenterIdDeserializerKey(version, experimenterId, ExperimenterMessage.class);
50 * @param version openflow wire version
51 * @param experimenterId experimenter / vendor ID
52 * @return key instance
54 public static ExperimenterIdDeserializerKey createMultipartReplyMessageDeserializerKey(
55 short version, Long experimenterId) {
56 return new ExperimenterIdDeserializerKey(version, experimenterId, MultipartReplyExperimenterCase.class);
60 * @param version openflow wire version
61 * @param experimenterId experimenter / vendor ID
62 * @return key instance
64 public static ExperimenterIdDeserializerKey createMultipartReplyTFDeserializerKey(
65 short version, Long experimenterId) {
66 return new ExperimenterIdDeserializerKey(version, experimenterId, TableFeatureProperties.class);
70 * @param version openflow wire version
71 * @param experimenterId experimenter / vendor ID
72 * @return key instance
74 public static ExperimenterIdDeserializerKey createQueuePropertyDeserializerKey(
75 short version, Long experimenterId) {
76 return new ExperimenterIdDeserializerKey(version, experimenterId, QueueProperty.class);
80 * @param version openflow wire version
81 * @param experimenterId experimenter / vendor ID
82 * @return key instance
84 public static ExperimenterIdDeserializerKey createMeterBandDeserializerKey(
85 short version, Long experimenterId) {
86 return new ExperimenterIdDeserializerKey(version, experimenterId, MeterBandExperimenterCase.class);