Merge changes from topic 'BUG-3774'
[openflowplugin.git] / openflowplugin / src / main / java / org / opendaylight / openflowplugin / openflow / md / core / extension / ExtensionConverterManagerImpl.java
index ebf6815ef2725aa37cf37cf82b0dd3d69f4d8bac..a2e77d9bca08513312bdd330eea4e3732c39d7a8 100644 (file)
@@ -50,8 +50,8 @@ public class ExtensionConverterManagerImpl implements ExtensionConverterManager
     private final Map<ConverterExtensionKey<?>, ConvertorToOFJava<?>> registryToOFJAva;
     private final Map<TypeVersionKey<? extends Action>, ConvertorActionToOFJava<? extends Action, ? extends DataContainer>> registryActionToOFJAva;
     private final Map<MessageTypeKey<?>, ConvertorActionFromOFJava<?, ?>> registryActionFromOFJAva;
-    private final Map<TypeVersionKey<?>, ConvertorMessageToOFJava<ExperimenterMessageOfChoice, DataContainer>> registryMessageToOFJAva;
-    private final Map<MessageTypeKey<?>, ConvertorMessageFromOFJava<ExperimenterDataOfChoice, MessagePath>> registryMessageFromOFJAva;
+    private final Map<TypeVersionKey<?>, ConvertorMessageToOFJava<? extends ExperimenterMessageOfChoice, ? extends DataContainer>> registryMessageToOFJAva;
+    private final Map<MessageTypeKey<?>, ConvertorMessageFromOFJava<? extends ExperimenterDataOfChoice, MessagePath>> registryMessageFromOFJAva;
 
     /**
      * default ctor
@@ -66,9 +66,9 @@ public class ExtensionConverterManagerImpl implements ExtensionConverterManager
     }
 
     /**
-     * @param key
-     * @param extConvertor
-     * @return
+     * @param key message key
+     * @param extConvertor extension convertor
+     * @return registration closure
      */
     private <FROM extends DataContainer, PATH extends AugmentationPath, KEY extends MessageTypeKey<?>>
     RegistrationCloserFromOFJava<FROM, PATH> hireJanitor(
@@ -81,9 +81,9 @@ public class ExtensionConverterManagerImpl implements ExtensionConverterManager
     }
 
     /**
-     * @param key
-     * @param extConvertor
-     * @return
+     * @param key message type key
+     * @param extConvertor extension convertor
+     * @return registration closure
      */
     private <FROM extends DataContainer, PATH extends AugmentationPath, KEY extends MessageTypeKey<?>>
     RegistrationCloserActionFromOFJava<FROM, PATH> hireJanitor(
@@ -96,9 +96,9 @@ public class ExtensionConverterManagerImpl implements ExtensionConverterManager
     }
 
     /**
-     * @param key
-     * @param extConvertor
-     * @return
+     * @param key message type key
+     * @param extConvertor extension convertor
+     * @return registration closure
      */
     private <TO extends DataContainer> RegistrationCloserToOFJava<TO> hireJanitor(
             final ConverterExtensionKey<? extends ExtensionKey> key, final ConvertorToOFJava<TO> extConvertor) {
@@ -110,9 +110,9 @@ public class ExtensionConverterManagerImpl implements ExtensionConverterManager
     }
 
     /**
-     * @param key
-     * @param extConvertor
-     * @return
+     * @param key message type key
+     * @param extConvertor extension convertor
+     * @return registration closure
      */
     private <TO extends DataContainer> RegistrationCloserActionToOFJava<TO> hireJanitor(
             final TypeVersionKey<? extends Action> key, final ConvertorActionToOFJava<Action, TO> extConvertor) {
@@ -124,14 +124,14 @@ public class ExtensionConverterManagerImpl implements ExtensionConverterManager
     }
 
     /**
-     * @param key
-     * @param extConvertor
-     * @return
+     * @param key message type key
+     * @param extConvertor extension convertor
+     * @return registration closure
      */
-    private <TO extends DataContainer> RegistrationCloserMessageToOFJava<TO> hireMessageJanitor(
-            final TypeVersionKey<? extends ExperimenterMessageOfChoice> key,
-            final ConvertorMessageToOFJava<ExperimenterMessageOfChoice, TO> extConvertor) {
-        RegistrationCloserMessageToOFJava<TO> janitor = new RegistrationCloserMessageToOFJava<>();
+    private <TO extends DataContainer, K extends ExperimenterMessageOfChoice> RegistrationCloserMessageToOFJava<TO, K> hireMessageJanitor(
+            final TypeVersionKey<K> key,
+            final ConvertorMessageToOFJava<K, TO> extConvertor) {
+        RegistrationCloserMessageToOFJava<TO, K> janitor = new RegistrationCloserMessageToOFJava<>();
         janitor.setConverter(extConvertor);
         janitor.setKey(key);
         janitor.setRegistrator(this);
@@ -139,9 +139,9 @@ public class ExtensionConverterManagerImpl implements ExtensionConverterManager
     }
 
     /**
-     * @param key
-     * @param extConvertor
-     * @return
+     * @param key message type key
+     * @param extConvertor extension convertor
+     * @return registration closure
      */
     private <FROM extends DataContainer, PATH extends AugmentationPath, KEY extends MessageTypeKey<?>>
     RegistrationCloserMessageFromOFJava<FROM, PATH> hireMessageJanitor(
@@ -156,8 +156,8 @@ public class ExtensionConverterManagerImpl implements ExtensionConverterManager
     /**
      * cancel registration of given converter
      *
-     * @param key
-     * @param converter
+     * @param key message key
+     * @param converter extension convertor
      */
     public void unregister(final ConverterExtensionKey<?> key, final ConvertorToOFJava<?> converter) {
         ConvertorToOFJava<?> registeredConverter = registryToOFJAva.get(key);
@@ -169,8 +169,8 @@ public class ExtensionConverterManagerImpl implements ExtensionConverterManager
     /**
      * cancel registration of given converter
      *
-     * @param key
-     * @param converter
+     * @param key message key
+     * @param converter extension convertor
      */
     public void unregister(final TypeVersionKey<? extends Action> key, final ConvertorActionToOFJava<?, ?> converter) {
         ConvertorActionToOFJava<?, ?> registeredConverter = registryActionToOFJAva.get(key);
@@ -182,8 +182,8 @@ public class ExtensionConverterManagerImpl implements ExtensionConverterManager
     /**
      * cancel registration of given converter
      *
-     * @param key
-     * @param converter
+     * @param key message key
+     * @param converter extension convertor
      */
     public void unregister(final MessageTypeKey<?> key, final ConvertorFromOFJava<?, ?> converter) {
         ConvertorFromOFJava<?, ?> registeredConverter = registryFromOFJAva.get(key);
@@ -195,8 +195,8 @@ public class ExtensionConverterManagerImpl implements ExtensionConverterManager
     /**
      * cancel registration of given converter
      *
-     * @param key
-     * @param converter
+     * @param key message key
+     * @param converter extension convertor
      */
     public void unregister(final MessageTypeKey<?> key, final ConvertorActionFromOFJava<?, ?> converter) {
         ConvertorActionFromOFJava<?, ?> registeredConverter = registryActionFromOFJAva.get(key);
@@ -208,8 +208,8 @@ public class ExtensionConverterManagerImpl implements ExtensionConverterManager
     /**
      * cancel registration of given converter
      *
-     * @param key
-     * @param converter
+     * @param key message key
+     * @param converter extension convertor
      */
     public void unregister(final MessageTypeKey<?> key, final ConvertorMessageFromOFJava<?, ?> converter) {
         ConvertorMessageFromOFJava<?, ?> registeredConverter = registryMessageFromOFJAva.get(key);
@@ -221,8 +221,8 @@ public class ExtensionConverterManagerImpl implements ExtensionConverterManager
     /**
      * cancel registration of given converter
      *
-     * @param key
-     * @param converter
+     * @param key message key
+     * @param converter extension convertor
      */
     public void unregister(final TypeVersionKey<?> key, final ConvertorMessageToOFJava<?, ?> converter) {
         ConvertorMessageToOFJava<?, ?> registeredConverter = registryMessageToOFJAva.get(key);
@@ -293,15 +293,15 @@ public class ExtensionConverterManagerImpl implements ExtensionConverterManager
     }
 
     @Override
-    public ObjectRegistration<ConvertorMessageToOFJava<ExperimenterMessageOfChoice, DataContainer>> registerMessageConvertor(
-            TypeVersionKey<? extends ExperimenterMessageOfChoice> key, ConvertorMessageToOFJava<ExperimenterMessageOfChoice, DataContainer> convertor) {
+    public <I extends ExperimenterMessageOfChoice, O extends DataContainer> ObjectRegistration<ConvertorMessageToOFJava<I, O>> registerMessageConvertor(
+            TypeVersionKey<I> key, ConvertorMessageToOFJava<I, O> convertor) {
         registryMessageToOFJAva.put(key, convertor);
         return hireMessageJanitor(key, convertor);
     }
 
     @Override
-    public ObjectRegistration<ConvertorMessageFromOFJava<ExperimenterDataOfChoice, MessagePath>> registerMessageConvertor(
-            MessageTypeKey<?> key, ConvertorMessageFromOFJava<ExperimenterDataOfChoice, MessagePath> convertor) {
+    public <I extends ExperimenterDataOfChoice> ObjectRegistration<ConvertorMessageFromOFJava<I, MessagePath>> registerMessageConvertor(
+            MessageTypeKey<?> key, ConvertorMessageFromOFJava<I, MessagePath> convertor) {
         registryMessageFromOFJAva.put(key, convertor);
         return hireMessageJanitor(key, convertor);
     }