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
8 package org.opendaylight.openflowjava.protocol.impl.util;
10 import static java.util.Objects.requireNonNull;
12 import org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerRegistry;
13 import org.opendaylight.openflowjava.protocol.api.extensibility.OFGeneralDeserializer;
14 import org.opendaylight.openflowjava.protocol.api.keys.ActionDeserializerKey;
15 import org.opendaylight.yangtools.yang.common.Uint8;
18 * Helper for registering deserializers.
20 * @author michal.polkorab
22 public class ActionDeserializerRegistryHelper {
23 private final Uint8 version;
24 private final DeserializerRegistry registry;
29 * @param version wire protocol version
30 * @param deserializerRegistry registry to be filled with message deserializers
32 public ActionDeserializerRegistryHelper(final Uint8 version, final DeserializerRegistry deserializerRegistry) {
33 this.version = requireNonNull(version);
34 this.registry = deserializerRegistry;
38 * Registers a deserializer.
40 * @param code code / value to distinguish between deserializers
41 * @param deserializer deserializer instance
43 public void registerDeserializer(final int code, final OFGeneralDeserializer deserializer) {
44 registry.registerDeserializer(new ActionDeserializerKey(version, code, null), deserializer);