/*
* Copyright (c) 2013 Pantheon Technologies s.r.o. and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
package org.opendaylight.openflowjava.protocol.impl.util;
import org.opendaylight.openflowjava.protocol.api.extensibility.OFGeneralSerializer;
import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerRegistry;
import org.opendaylight.openflowjava.protocol.api.keys.MessageTypeKey;
import org.opendaylight.openflowjava.util.ExperimenterSerializerKeyFactory;
/**
* Helper class for serializer registration.
* @author michal.polkorab
*/
public class CommonMessageRegistryHelper {
private short version;
private SerializerRegistry serializerRegistry;
/**
* @param version wire protocol version
* @param serializerRegistry registry to be filled with message serializers
*/
public CommonMessageRegistryHelper(short version, SerializerRegistry serializerRegistry) {
this.version = version;
this.serializerRegistry = serializerRegistry;
}
/**
* Registers serializer in registry.
* @param msgType class of object that will be serialized by given serializer
* @param serializer serializer instance
*/
public void registerSerializer(Class<?> msgType, OFGeneralSerializer serializer) {
serializerRegistry.registerSerializer(new MessageTypeKey<>(version, msgType), serializer);
}
}