1 package org.opendaylight.lispflowmapping.implementation.serializer.address.factory;
3 import java.util.HashMap;
6 import org.opendaylight.lispflowmapping.implementation.serializer.address.LispASAddressSerializer;
7 import org.opendaylight.lispflowmapping.implementation.serializer.address.LispAddressSerializer;
8 import org.opendaylight.lispflowmapping.implementation.serializer.address.LispDistinguishedNameAddressSerializer;
9 import org.opendaylight.lispflowmapping.implementation.serializer.address.LispIpv4AddressSerializer;
10 import org.opendaylight.lispflowmapping.implementation.serializer.address.LispIpv6AddressSerializer;
11 import org.opendaylight.lispflowmapping.implementation.serializer.address.LispLCAFAddressSerializer;
12 import org.opendaylight.lispflowmapping.implementation.serializer.address.LispMACAddressSerializer;
13 import org.opendaylight.lispflowmapping.implementation.serializer.address.LispNoAddressSerializer;
14 import org.opendaylight.lispflowmapping.type.AddressFamilyNumberEnum;
16 public class LispAFIAddressSerializerFactory {
18 private static Map<AddressFamilyNumberEnum, LispAddressSerializer> afiToSearializerMap;
20 private static void initializeMap() {
21 afiToSearializerMap = new HashMap<AddressFamilyNumberEnum, LispAddressSerializer>();
22 afiToSearializerMap.put(AddressFamilyNumberEnum.AS, LispASAddressSerializer.getInstance());
23 afiToSearializerMap.put(AddressFamilyNumberEnum.IP, LispIpv4AddressSerializer.getInstance());
24 afiToSearializerMap.put(AddressFamilyNumberEnum.IP6, LispIpv6AddressSerializer.getInstance());
25 afiToSearializerMap.put(AddressFamilyNumberEnum.DISTINGUISHED_NAME, LispDistinguishedNameAddressSerializer.getInstance());
26 afiToSearializerMap.put(AddressFamilyNumberEnum.LCAF, LispLCAFAddressSerializer.getInstance());
27 afiToSearializerMap.put(AddressFamilyNumberEnum.MAC, LispMACAddressSerializer.getInstance());
28 afiToSearializerMap.put(AddressFamilyNumberEnum.RESERVED, LispNoAddressSerializer.getInstance());
32 public static LispAddressSerializer getSerializer(AddressFamilyNumberEnum afi) {
33 if (afiToSearializerMap == null) {
36 return afiToSearializerMap.get(afi);