package org.ovirt.engine.core.common.businessentities.network; import java.util.Objects; import org.ovirt.engine.core.common.businessentities.comparators.BusinessEntityComparator; import org.ovirt.engine.core.compat.Guid; /** * <code>VmNetworkStatistics</code> defines a type of {@link BaseNetworkStatistics} for instances of * {@link VmNetworkInterface}. * */ public class VmNetworkStatistics extends NetworkStatistics implements Comparable<VmNetworkStatistics> { private static final long serialVersionUID = -423834938475712247L; private Guid vmId; public VmNetworkStatistics() { } public VmNetworkStatistics(VmNetworkStatistics statistics) { super(statistics); setVmId(statistics.getVmId()); } /** * Sets the VM id. * * @param vmId * the id */ public void setVmId(Guid vmId) { this.vmId = vmId; } /** * Returns the VM id. * * @return the id */ public Guid getVmId() { return vmId; } @Override public int compareTo(VmNetworkStatistics o) { return BusinessEntityComparator.<VmNetworkStatistics, Guid>newInstance().compare(this, o); } @Override public int hashCode() { return Objects.hash( super.hashCode(), vmId ); } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof VmNetworkStatistics)) { return false; } VmNetworkStatistics other = (VmNetworkStatistics) obj; return super.equals(obj) && Objects.equals(vmId, other.vmId); } }