package org.ovirt.engine.core.common.businessentities; import java.io.Serializable; import java.util.HashSet; import java.util.Objects; import org.ovirt.engine.core.common.utils.CpuVendor; public class ServerCpu implements Serializable { private static final long serialVersionUID = -267863982363067020L; public ServerCpu(String name, int level, HashSet<String> flags, String verbData, ArchitectureType architecture) { setCpuName(name); setLevel(level); setFlags(flags); setVdsVerbData(verbData); this.privateArchitecture = architecture; } private String privateCpuName; public String getCpuName() { return privateCpuName; } public void setCpuName(String value) { privateCpuName = value; } private int privateLevel; public int getLevel() { return privateLevel; } public void setLevel(int value) { privateLevel = value; } private HashSet<String> privateFlags; public HashSet<String> getFlags() { return privateFlags; } public void setFlags(HashSet<String> value) { privateFlags = value; } private String privateVdsVerbData; public String getVdsVerbData() { return privateVdsVerbData; } public void setVdsVerbData(String value) { privateVdsVerbData = value; } public ServerCpu() { } private ArchitectureType privateArchitecture; public ArchitectureType getArchitecture() { return privateArchitecture; } @Override public int hashCode() { return Objects.hash( privateArchitecture, privateCpuName, privateFlags, privateLevel, privateVdsVerbData ); } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof ServerCpu)) { return false; } ServerCpu other = (ServerCpu) obj; return Objects.equals(privateArchitecture, other.privateArchitecture) && Objects.equals(privateCpuName, other.privateCpuName) && Objects.equals(privateFlags, other.privateFlags) && privateLevel == other.privateLevel && Objects.equals(privateVdsVerbData, other.privateVdsVerbData); } public CpuVendor getVendor() { return CpuVendor.fromFlags(privateFlags); } @Override public String toString() { return "ServerCpu [" + privateCpuName + "]"; } }