refactoring of listmappingservice into Northbound (future REST) and Southbound (LISP...
[lispflowmapping.git] / mappingservice / southbound / src / main / java / org / opendaylight / lispflowmapping / southbound / serializer / address / LispIpv4AddressSerializer.java
1 package org.opendaylight.lispflowmapping.southbound.serializer.address;
2
3 import java.net.InetAddress;
4 import java.net.UnknownHostException;
5 import java.nio.ByteBuffer;
6
7 import org.opendaylight.lispflowmapping.type.lisp.address.LispAddress;
8 import org.opendaylight.lispflowmapping.type.lisp.address.LispIpv4Address;
9
10
11 public class LispIpv4AddressSerializer extends LispIPAddressSerializer{
12         
13         private static final LispIpv4AddressSerializer INSTANCE = new LispIpv4AddressSerializer();
14
15         // Private constructor prevents instantiation from other classes
16         private LispIpv4AddressSerializer() {
17         }
18
19         public static LispIpv4AddressSerializer getInstance() {
20                 return INSTANCE;
21         }
22         
23         
24         @Override
25     public int getAddressSize(LispAddress lispAddress) {
26         return super.getAddressSize(lispAddress) + 4;
27     }
28         
29         @Override
30         public LispIpv4Address deserialize(ByteBuffer buffer) {
31         byte[] ipBuffer = new byte[4];
32         InetAddress address = null;
33         buffer.get(ipBuffer);
34         try {
35             address = InetAddress.getByAddress(ipBuffer);
36         } catch (UnknownHostException e) {
37             // TODO Auto-generated catch block
38             e.printStackTrace();
39         }
40         return new LispIpv4Address(address);
41     }
42
43
44
45 }