2 * Copyright (c) 2013 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
8 package org.opendaylight.openflowjava.protocol.impl.util;
10 import org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerRegistry;
11 import org.opendaylight.openflowjava.protocol.api.extensibility.MessageCodeKey;
12 import org.opendaylight.openflowjava.protocol.api.extensibility.OFGeneralDeserializer;
15 * @author michal.polkorab
18 public class SimpleDeserializerRegistryHelper {
20 private short version;
21 private DeserializerRegistry registry;
24 * @param version wire protocol version
25 * @param deserializerRegistry registry to be filled with message deserializers
27 public SimpleDeserializerRegistryHelper(short version, DeserializerRegistry deserializerRegistry) {
28 this.version = version;
29 this.registry = deserializerRegistry;
33 * @param code code / value to distinguish between deserializers
34 * @param experimenterID TODO
35 * @param deserializedObjectClass class of object that will be deserialized
36 * by given deserializer
37 * @param deserializer deserializer instance
39 public void registerDeserializer(int code,
40 Long experimenterID, Class<?> deserializedObjectClass, OFGeneralDeserializer deserializer) {
41 registry.registerDeserializer(new MessageCodeKey(version, code,
42 deserializedObjectClass), deserializer);