package org.ovirt.engine.core.common.businessentities.network;
import java.io.Serializable;
import java.util.Objects;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import org.ovirt.engine.core.common.utils.ToStringBuilder;
import org.ovirt.engine.core.common.validation.annotation.Ipv6;
public class IpV6Address implements Serializable {
private static final long serialVersionUID = 5112759833343439658L;
@Ipv6
private String address;
@Min(0L)
@Max(128L)
private Integer prefix;
@Ipv6
private String gateway;
private Ipv6BootProtocol bootProtocol;
public Ipv6BootProtocol getBootProtocol() {
return bootProtocol;
}
public void setBootProtocol(Ipv6BootProtocol bootProtocol) {
this.bootProtocol = bootProtocol;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getGateway() {
return gateway;
}
public void setGateway(String gateway) {
this.gateway = gateway;
}
public Integer getPrefix() {
return prefix;
}
public void setPrefix(Integer prefix) {
this.prefix = prefix;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof IpV6Address)) {
return false;
}
IpV6Address other = (IpV6Address) o;
return Objects.equals(address, other.address)
&& Objects.equals(prefix, other.prefix)
&& Objects.equals(gateway, other.gateway)
&& Objects.equals(bootProtocol, other.bootProtocol);
}
@Override
public int hashCode() {
return Objects.hash(
address,
prefix,
gateway,
bootProtocol
);
}
@Override
public String toString() {
return ToStringBuilder.forInstance(this)
.append("address", getAddress())
.append("prefix", getPrefix())
.append("gateway", getGateway())
.append("bootProtocol", getBootProtocol())
.build();
}
}