1 package org.opendaylight.lispflowmapping.type.lisp.address;
3 import java.nio.ByteBuffer;
4 import java.util.ArrayList;
7 import org.opendaylight.lispflowmapping.type.LispCanonicalAddressFormatEnum;
9 public class LispListLCAFAddress extends LispLCAFAddress {
10 List<LispAddress> addresses;
12 public LispListLCAFAddress(byte res2, List<LispAddress> addresses) {
13 super(LispCanonicalAddressFormatEnum.LIST, res2);
14 this.addresses = addresses;
18 public void serialize(ByteBuffer buffer) {
19 super.internalSerialize(buffer);
20 for (LispAddress address : addresses) {
21 address.serialize(buffer);
26 public short getLcafLength() {
28 for (LispAddress address : addresses) {
29 totalSize += address.getAddressSize();
34 public List<LispAddress> getAddresses() {
38 public static LispListLCAFAddress valueOf(byte res2, short length, ByteBuffer buffer) {
39 List<LispAddress> addresses = new ArrayList<LispAddress>();
41 LispAddress address = LispAddress.valueOf(buffer);
42 length -= address.getAddressSize();
43 addresses.add(address);
45 return new LispListLCAFAddress(res2, addresses);
49 public int hashCode() {
51 int result = super.hashCode();
52 result = prime * result + ((addresses == null) ? 0 : addresses.hashCode());
57 public boolean equals(Object obj) {
60 if (!super.equals(obj))
62 if (getClass() != obj.getClass())
64 LispListLCAFAddress other = (LispListLCAFAddress) obj;
65 if (addresses == null) {
66 if (other.addresses != null)
68 } else if (!addresses.equals(other.addresses))
74 public String toString() {
75 return "LispListLCAFAddress#[addresses=" + addresses + "]" + super.toString();