package org.ovirt.engine.core.common.businessentities.network; import java.util.Objects; import org.ovirt.engine.core.common.businessentities.qos.QosBase; import org.ovirt.engine.core.common.businessentities.qos.QosType; import org.ovirt.engine.core.common.config.ConfigValues; import org.ovirt.engine.core.common.validation.annotation.ConfiguredRange; public class NetworkQoS extends QosBase { private static final long serialVersionUID = 1122772549710787758L; @ConfiguredRange(min = 0, maxConfigValue = ConfigValues.MaxAverageNetworkQoSValue, message = "ACTION_TYPE_FAILED_QOS_OUT_OF_RANGE_VALUES") private Integer inboundAverage; @ConfiguredRange(min = 0, maxConfigValue = ConfigValues.MaxPeakNetworkQoSValue, message = "ACTION_TYPE_FAILED_QOS_OUT_OF_RANGE_VALUES") private Integer inboundPeak; @ConfiguredRange(min = 0, maxConfigValue = ConfigValues.MaxBurstNetworkQoSValue, message = "ACTION_TYPE_FAILED_QOS_OUT_OF_RANGE_VALUES") private Integer inboundBurst; @ConfiguredRange(min = 0, maxConfigValue = ConfigValues.MaxAverageNetworkQoSValue, message = "ACTION_TYPE_FAILED_QOS_OUT_OF_RANGE_VALUES") private Integer outboundAverage; @ConfiguredRange(min = 0, maxConfigValue = ConfigValues.MaxPeakNetworkQoSValue, message = "ACTION_TYPE_FAILED_QOS_OUT_OF_RANGE_VALUES") private Integer outboundPeak; @ConfiguredRange(min = 0, maxConfigValue = ConfigValues.MaxBurstNetworkQoSValue, message = "ACTION_TYPE_FAILED_QOS_OUT_OF_RANGE_VALUES") private Integer outboundBurst; public NetworkQoS() { super(QosType.NETWORK); } public Integer getInboundAverage() { return inboundAverage; } public void setInboundAverage(Integer inboundAverage) { this.inboundAverage = inboundAverage; } public Integer getInboundPeak() { return inboundPeak; } public void setInboundPeak(Integer inboundPeak) { this.inboundPeak = inboundPeak; } public Integer getInboundBurst() { return inboundBurst; } public void setInboundBurst(Integer inboundBurst) { this.inboundBurst = inboundBurst; } public Integer getOutboundAverage() { return outboundAverage; } public void setOutboundAverage(Integer outboundAverage) { this.outboundAverage = outboundAverage; } public Integer getOutboundPeak() { return outboundPeak; } public void setOutboundPeak(Integer outboundPeak) { this.outboundPeak = outboundPeak; } public Integer getOutboundBurst() { return outboundBurst; } public void setOutboundBurst(Integer outboundBurst) { this.outboundBurst = outboundBurst; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof NetworkQoS)) { return false; } NetworkQoS other = (NetworkQoS) obj; return super.equals(obj) && Objects.equals(inboundAverage, other.inboundAverage) && Objects.equals(inboundPeak, other.inboundPeak) && Objects.equals(inboundBurst, other.inboundBurst) && Objects.equals(outboundAverage, other.outboundAverage) && Objects.equals(outboundPeak, other.outboundPeak) && Objects.equals(outboundBurst, other.outboundBurst); } @Override public String getString() { StringBuilder builder = new StringBuilder(); builder.append("[") .append("inbound ") .append("{") .append("average=") .append(getInboundAverage()) .append(", peak=") .append(getInboundPeak()) .append(", burst=") .append(getInboundBurst()) .append("}, ") .append("outbound ") .append("{") .append("average=") .append(getOutboundAverage()) .append(", peak=") .append(getOutboundPeak()) .append(", burst=") .append(getOutboundBurst()) .append("}") .append("]"); return builder.toString(); } @Override public String toString() { return getString(); } @Override public int hashCode() { return Objects.hash( super.hashCode(), inboundAverage, inboundPeak, inboundBurst, outboundAverage, outboundPeak, outboundBurst ); } }