package org.ovirt.engine.core.common.businessentities.network;
import java.io.Serializable;
import java.util.Objects;
import org.ovirt.engine.core.common.config.ConfigValues;
import org.ovirt.engine.core.common.validation.annotation.ConfiguredRange;
public class HostNetworkQosProperties implements Serializable {
private static final long serialVersionUID = -4137292757583671432L;
public HostNetworkQosProperties() {
}
public HostNetworkQosProperties(HostNetworkQosProperties original) {
this.outAverageLinkshare = original.outAverageLinkshare;
this.outAverageUpperlimit = original.outAverageUpperlimit;
this.outAverageRealtime = original.outAverageRealtime;
}
/**
* Unit: Mbps
*/
@ConfiguredRange(min = 1, maxConfigValue = ConfigValues.MaxHostNetworkQosShares,
message = "ACTION_TYPE_FAILED_NETWORK_QOS_OUT_OF_RANGE_VALUES")
private Integer outAverageLinkshare;
/**
* Unit: Mbps
*/
@ConfiguredRange(min = 1, maxConfigValue = ConfigValues.MaxAverageNetworkQoSValue,
message = "ACTION_TYPE_FAILED_NETWORK_QOS_OUT_OF_RANGE_VALUES")
private Integer outAverageUpperlimit;
/**
* Unit: Mbps
*/
@ConfiguredRange(min = 1, maxConfigValue = ConfigValues.MaxAverageNetworkQoSValue,
message = "ACTION_TYPE_FAILED_NETWORK_QOS_OUT_OF_RANGE_VALUES")
private Integer outAverageRealtime;
public Integer getOutAverageLinkshare() {
return outAverageLinkshare;
}
public void setOutAverageLinkshare(Integer outAverageLinkshare) {
this.outAverageLinkshare = outAverageLinkshare;
}
public Integer getOutAverageUpperlimit() {
return outAverageUpperlimit;
}
public void setOutAverageUpperlimit(Integer outAverageUpperlimit) {
this.outAverageUpperlimit = outAverageUpperlimit;
}
public Integer getOutAverageRealtime() {
return outAverageRealtime;
}
public void setOutAverageRealtime(Integer outAverageRealtime) {
this.outAverageRealtime = outAverageRealtime;
}
public boolean isEmpty() {
return getOutAverageLinkshare() == null && getOutAverageUpperlimit() == null && getOutAverageRealtime() == null;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof HostNetworkQosProperties)) {
return false;
}
HostNetworkQosProperties that = (HostNetworkQosProperties) o;
return Objects.equals(getOutAverageLinkshare(), that.getOutAverageLinkshare()) &&
Objects.equals(getOutAverageUpperlimit(), that.getOutAverageUpperlimit()) &&
Objects.equals(getOutAverageRealtime(), that.getOutAverageRealtime());
}
@Override
public int hashCode() {
return Objects.hash(getOutAverageLinkshare(), getOutAverageUpperlimit(), getOutAverageRealtime());
}
}