package org.ovirt.engine.core.common.businessentities; import java.io.Serializable; import java.util.Objects; import org.ovirt.engine.core.common.utils.ToStringBuilder; import org.ovirt.engine.core.compat.Guid; public final class HostDeviceId implements Serializable, Comparable<HostDeviceId> { private Guid hostId; private String deviceName; public HostDeviceId() { } public HostDeviceId(Guid hostId, String deviceName) { this.hostId = hostId; this.deviceName = deviceName; } public Guid getHostId() { return hostId; } public void setHostId(Guid hostId) { this.hostId = hostId; } public String getDeviceName() { return deviceName; } public void setDeviceName(String deviceName) { this.deviceName = deviceName; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof HostDeviceId)) { return false; } HostDeviceId other = (HostDeviceId) o; return Objects.equals(hostId, other.hostId) && Objects.equals(deviceName, other.deviceName); } @Override public int hashCode() { return Objects.hash( hostId, deviceName ); } @Override public String toString() { return ToStringBuilder.forInstance(this) .append("hostId", getHostId()) .append("deviceName", getDeviceName()) .build(); } @Override public int compareTo(HostDeviceId other) { int idComparison = hostId.compareTo(other.hostId); if (idComparison == 0) { return deviceName.compareTo(other.deviceName); } else { return idComparison; } } }