package org.hyperic.hq.api.model.resources; import java.io.Serializable; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; import org.hyperic.hq.api.model.ConfigurationValue; import org.hyperic.hq.api.model.RestApiConstants; @XmlRootElement(name="ComplexIp", namespace=RestApiConstants.SCHEMA_NAMESPACE) @XmlType(name="ComplexIpType", namespace=RestApiConstants.SCHEMA_NAMESPACE) public class ComplexIp extends ConfigurationValue implements Serializable { private static final long serialVersionUID = 8273033074458085922L; private String netmask; private String mac; private String address; public ComplexIp() { } public ComplexIp(String netmask, String mac, String address) { this.netmask = netmask; this.mac = mac; this.address = address; } public String getNetmask() { return netmask; } public void setNetmask(String netmask) { this.netmask = netmask; } public String getMac() { return mac; } public void setMac(String mac) { this.mac = mac; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "Ip [address=" + address + ", netmask=" + netmask + ", mac=" + mac + "]"; } @Override public int hashCode() { int result = 7; result = 31 * result + (null == this.address ? 1 : this.address.hashCode()); result = 31 * result + (null == this.mac ? 1 : this.mac.hashCode()); return result; } @Override public boolean equals(Object obj) { if (obj == this) return true; if ((null == obj) || !(obj instanceof ComplexIp)) return false; ComplexIp ci = (ComplexIp)obj; return equalsNillable(this.mac, ci.mac) && equalsNillable(this.address, ci.address) && equalsNillable(this.netmask, ci.netmask); } private static boolean equalsNillable(Object o1, Object o2) { return ((o1 == o2) || (o1 != null && o1.equals(o2))); } }