Bump upstreams for 2022.09 Chlorine
[lispflowmapping.git] / mappingservice / lisp-proto / src / main / java / org / opendaylight / lispflowmapping / lisp / serializer / address / factory / LispAddressSerializerFactory.java
index c6e58f0a587053206c67732f4adcbb76bae065c4..5b86fa1a86c82c7c3c24124450d34d14ed6c93ee 100644 (file)
@@ -9,7 +9,6 @@ package org.opendaylight.lispflowmapping.lisp.serializer.address.factory;
 
 import java.util.HashMap;
 import java.util.Map;
-
 import org.opendaylight.lispflowmapping.lisp.serializer.address.AfiListSerializer;
 import org.opendaylight.lispflowmapping.lisp.serializer.address.ApplicationDataSerializer;
 import org.opendaylight.lispflowmapping.lisp.serializer.address.DistinguishedNameSerializer;
@@ -18,6 +17,7 @@ import org.opendaylight.lispflowmapping.lisp.serializer.address.InstanceIdSerial
 import org.opendaylight.lispflowmapping.lisp.serializer.address.Ipv4BinarySerializer;
 import org.opendaylight.lispflowmapping.lisp.serializer.address.Ipv4PrefixBinarySerializer;
 import org.opendaylight.lispflowmapping.lisp.serializer.address.Ipv4PrefixSerializer;
+import org.opendaylight.lispflowmapping.lisp.serializer.address.Ipv4Serializer;
 import org.opendaylight.lispflowmapping.lisp.serializer.address.Ipv6BinarySerializer;
 import org.opendaylight.lispflowmapping.lisp.serializer.address.Ipv6PrefixBinarySerializer;
 import org.opendaylight.lispflowmapping.lisp.serializer.address.Ipv6PrefixSerializer;
@@ -25,7 +25,6 @@ import org.opendaylight.lispflowmapping.lisp.serializer.address.Ipv6Serializer;
 import org.opendaylight.lispflowmapping.lisp.serializer.address.KeyValueAddressSerializer;
 import org.opendaylight.lispflowmapping.lisp.serializer.address.LcafSerializer;
 import org.opendaylight.lispflowmapping.lisp.serializer.address.LispAddressSerializer;
-import org.opendaylight.lispflowmapping.lisp.serializer.address.Ipv4Serializer;
 import org.opendaylight.lispflowmapping.lisp.serializer.address.MacSerializer;
 import org.opendaylight.lispflowmapping.lisp.serializer.address.NoAddressSerializer;
 import org.opendaylight.lispflowmapping.lisp.serializer.address.ServicePathSerializer;
@@ -52,42 +51,42 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.typ
 import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.binary.address.types.rev160504.Ipv6PrefixBinaryAfi;
 
 /**
- * Factory for LispAddress (de)serializers
+ * Factory for LispAddress (de)serializers.
  *
  * @author Lorand Jakab
- *
  */
 public final class LispAddressSerializerFactory {
-    private static Map<Class<? extends LispAddressFamily>, LispAddressSerializer> addressTypeToSerializerMap;
+    private static Map<LispAddressFamily, LispAddressSerializer> addressTypeToSerializerMap;
 
-    // Class should not be instantiated
     private LispAddressSerializerFactory() {
+        // Class should not be instantiated
     }
 
     private static void initializeMap() {
-        addressTypeToSerializerMap = new HashMap<Class<? extends LispAddressFamily>, LispAddressSerializer>();
-        addressTypeToSerializerMap.put(NoAddressAfi.class, NoAddressSerializer.getInstance());
-        addressTypeToSerializerMap.put(Ipv4Afi.class, Ipv4Serializer.getInstance());
-        addressTypeToSerializerMap.put(Ipv4BinaryAfi.class, Ipv4BinarySerializer.getInstance());
-        addressTypeToSerializerMap.put(Ipv4PrefixAfi.class, Ipv4PrefixSerializer.getInstance());
-        addressTypeToSerializerMap.put(Ipv4PrefixBinaryAfi.class, Ipv4PrefixBinarySerializer.getInstance());
-        addressTypeToSerializerMap.put(Ipv6Afi.class, Ipv6Serializer.getInstance());
-        addressTypeToSerializerMap.put(Ipv6BinaryAfi.class, Ipv6BinarySerializer.getInstance());
-        addressTypeToSerializerMap.put(Ipv6PrefixAfi.class, Ipv6PrefixSerializer.getInstance());
-        addressTypeToSerializerMap.put(Ipv6PrefixBinaryAfi.class, Ipv6PrefixBinarySerializer.getInstance());
-        addressTypeToSerializerMap.put(MacAfi.class, MacSerializer.getInstance());
-        addressTypeToSerializerMap.put(DistinguishedNameAfi.class, DistinguishedNameSerializer.getInstance());
-        addressTypeToSerializerMap.put(Lcaf.class, LcafSerializer.getInstance());
-        addressTypeToSerializerMap.put(AfiListLcaf.class, AfiListSerializer.getInstance());
-        addressTypeToSerializerMap.put(InstanceIdLcaf.class, InstanceIdSerializer.getInstance());
-        addressTypeToSerializerMap.put(ApplicationDataLcaf.class, ApplicationDataSerializer.getInstance());
-        addressTypeToSerializerMap.put(ExplicitLocatorPathLcaf.class, ExplicitLocatorPathSerializer.getInstance());
-        addressTypeToSerializerMap.put(SourceDestKeyLcaf.class, SourceDestKeySerializer.getInstance());
-        addressTypeToSerializerMap.put(KeyValueAddressLcaf.class, KeyValueAddressSerializer.getInstance());
-        addressTypeToSerializerMap.put(ServicePathLcaf.class, ServicePathSerializer.getInstance());
+        // FIXME: use ImmutabmeMap and static initialization
+        addressTypeToSerializerMap = new HashMap<>();
+        addressTypeToSerializerMap.put(NoAddressAfi.VALUE, NoAddressSerializer.getInstance());
+        addressTypeToSerializerMap.put(Ipv4Afi.VALUE, Ipv4Serializer.getInstance());
+        addressTypeToSerializerMap.put(Ipv4BinaryAfi.VALUE, Ipv4BinarySerializer.getInstance());
+        addressTypeToSerializerMap.put(Ipv4PrefixAfi.VALUE, Ipv4PrefixSerializer.getInstance());
+        addressTypeToSerializerMap.put(Ipv4PrefixBinaryAfi.VALUE, Ipv4PrefixBinarySerializer.getInstance());
+        addressTypeToSerializerMap.put(Ipv6Afi.VALUE, Ipv6Serializer.getInstance());
+        addressTypeToSerializerMap.put(Ipv6BinaryAfi.VALUE, Ipv6BinarySerializer.getInstance());
+        addressTypeToSerializerMap.put(Ipv6PrefixAfi.VALUE, Ipv6PrefixSerializer.getInstance());
+        addressTypeToSerializerMap.put(Ipv6PrefixBinaryAfi.VALUE, Ipv6PrefixBinarySerializer.getInstance());
+        addressTypeToSerializerMap.put(MacAfi.VALUE, MacSerializer.getInstance());
+        addressTypeToSerializerMap.put(DistinguishedNameAfi.VALUE, DistinguishedNameSerializer.getInstance());
+        addressTypeToSerializerMap.put(Lcaf.VALUE, LcafSerializer.getInstance());
+        addressTypeToSerializerMap.put(AfiListLcaf.VALUE, AfiListSerializer.getInstance());
+        addressTypeToSerializerMap.put(InstanceIdLcaf.VALUE, InstanceIdSerializer.getInstance());
+        addressTypeToSerializerMap.put(ApplicationDataLcaf.VALUE, ApplicationDataSerializer.getInstance());
+        addressTypeToSerializerMap.put(ExplicitLocatorPathLcaf.VALUE, ExplicitLocatorPathSerializer.getInstance());
+        addressTypeToSerializerMap.put(SourceDestKeyLcaf.VALUE, SourceDestKeySerializer.getInstance());
+        addressTypeToSerializerMap.put(KeyValueAddressLcaf.VALUE, KeyValueAddressSerializer.getInstance());
+        addressTypeToSerializerMap.put(ServicePathLcaf.VALUE, ServicePathSerializer.getInstance());
     }
 
-    public static LispAddressSerializer getSerializer(Class<? extends LispAddressFamily> clazz) {
+    public static LispAddressSerializer getSerializer(LispAddressFamily clazz) {
         if (addressTypeToSerializerMap == null) {
             initializeMap();
         }