1 package org.opendaylight.lispflowmapping.implementation.serializer.address;
3 import java.nio.ByteBuffer;
5 import org.opendaylight.lispflowmapping.type.lisp.address.LispAddress;
6 import org.opendaylight.lispflowmapping.type.lisp.address.LispMACAddress;
8 public class LispMACAddressSerializer extends LispAddressSerializer{
10 private static final LispMACAddressSerializer INSTANCE = new LispMACAddressSerializer();
12 // Private constructor prevents instantiation from other classes
13 private LispMACAddressSerializer() {
16 public static LispMACAddressSerializer getInstance() {
22 public int getAddressSize(LispAddress lispAddress) {
23 return super.getAddressSize(lispAddress) + 6;
28 public LispMACAddress deserialize(ByteBuffer buffer) {
29 byte[] macBuffer = new byte[6];
30 buffer.get(macBuffer);
31 return new LispMACAddress(macBuffer);
35 public void serialize(ByteBuffer buffer, LispAddress lispAddress) {
36 LispMACAddress lispMACAddress = (LispMACAddress)lispAddress;
37 super.internalSerialize(buffer, lispMACAddress);
38 buffer.put(lispMACAddress.getMAC());