Bug 5895 - Support of Ext109 openflow tcp flag matching
[openflowjava.git] / openflow-protocol-impl / src / main / java / org / opendaylight / openflowjava / protocol / impl / util / MatchEntrySerializerRegistryHelper.java
index 76f1f2ec6775c6aed51c82f8bf68e593cf421ab4..d9c76295e74d9e261631459246f68f2f391cd06b 100644 (file)
@@ -10,8 +10,9 @@ 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.MatchEntrySerializerKey;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.MatchField;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev130731.OxmClassBase;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.ExperimenterClass;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.MatchField;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.OxmClassBase;
 
 /**
  * @author michal.polkorab
@@ -46,4 +47,17 @@ public class MatchEntrySerializerRegistryHelper<C extends OxmClassBase> {
         key.setExperimenterId(null);
         serializerRegistry.registerSerializer(key, serializer);
     }
+
+    /**
+     * Registers ExperimenterClass type match serializer
+     * @param specificClass
+     * @param serializer
+     */
+    public <F extends MatchField> void registerExperimenterSerializer(
+            Class<F> specificClass, long expId, OFGeneralSerializer serializer) {
+        MatchEntrySerializerKey<?, ?> key = new MatchEntrySerializerKey<>(version, ExperimenterClass.class, specificClass);
+        key.setExperimenterId(expId);
+        serializerRegistry.registerSerializer(key, serializer);
+    }
+
 }