package org.opendaylight.controller.sal.packet.address;
+import java.util.Arrays;
+
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlTransient;
-import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
-import org.apache.commons.lang3.builder.EqualsBuilder;
-import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.opendaylight.controller.sal.core.ConstructionException;
import org.opendaylight.controller.sal.utils.HexEncode;
@XmlAccessorType(XmlAccessType.NONE)
public class EthernetAddress extends DataLinkAddress {
private static final long serialVersionUID = 1L;
+ @XmlTransient
private byte[] macAddress;
public static final EthernetAddress BROADCASTMAC = createWellKnownAddress(new byte[] {
}
/* Private constructor to satisfy JAXB */
+ @SuppressWarnings("unused")
private EthernetAddress() {
-
}
/**
@Override
public int hashCode() {
- return HashCodeBuilder.reflectionHashCode(this);
+ final int prime = 31;
+ int result = super.hashCode();
+ result = prime * result + Arrays.hashCode(macAddress);
+ return result;
}
@Override
public boolean equals(Object obj) {
- return EqualsBuilder.reflectionEquals(this, obj);
+ if (this == obj)
+ return true;
+ if (!super.equals(obj))
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ EthernetAddress other = (EthernetAddress) obj;
+ if (!Arrays.equals(macAddress, other.macAddress))
+ return false;
+ return true;
}
@Override
public String toString() {
- return "EthernetAddress[" + ReflectionToStringBuilder.toString(this)
+ return "EthernetAddress [macAddress=" + HexEncode.bytesToHexStringFormat(macAddress)
+ "]";
}
@XmlElement(name = "macAddress")
public String getMacAddress() {
- return HexEncode.bytesToHexString(macAddress);
+ return HexEncode.bytesToHexStringFormat(macAddress);
}
}