package org.ovirt.engine.core.common.businessentities.network; import java.util.HashSet; import java.util.Objects; import java.util.Set; import org.ovirt.engine.core.common.businessentities.BusinessEntity; import org.ovirt.engine.core.common.businessentities.IVdcQueryable; import org.ovirt.engine.core.common.utils.ToStringBuilder; import org.ovirt.engine.core.compat.Guid; public class HostNicVfsConfig implements IVdcQueryable, BusinessEntity<Guid> { private static final long serialVersionUID = 2762897334386252961L; private Guid id; private Guid nicId; /** * The theoretical maximum number of virtual functions can be on the nic */ private int maxNumOfVfs; /** * The actual number of virtual functions are on the nic */ private int numOfVfs; private boolean allNetworksAllowed; private Set<Guid> networks; private Set<String> networkLabels; public HostNicVfsConfig() { networks = new HashSet<>(); networkLabels = new HashSet<>(); } public HostNicVfsConfig(HostNicVfsConfig vfsConfig) { setId(vfsConfig.getId()); setNicId(vfsConfig.getNicId()); setMaxNumOfVfs(vfsConfig.getMaxNumOfVfs()); setNumOfVfs(vfsConfig.getNumOfVfs()); setAllNetworksAllowed(vfsConfig.isAllNetworksAllowed()); Set<Guid> networks = new HashSet<>(); networks.addAll(vfsConfig.getNetworks()); setNetworks(networks); Set<String> labels = new HashSet<>(); labels.addAll(vfsConfig.getNetworkLabels()); setNetworkLabels(labels); } public HostNicVfsConfig(Guid id, Guid nicId, boolean allNetworksAllowed) { setId(id); setNicId(nicId); setAllNetworksAllowed(allNetworksAllowed); } public Guid getNicId() { return nicId; } public void setNicId(Guid nicId) { this.nicId = nicId; } public int getMaxNumOfVfs() { return maxNumOfVfs; } public void setMaxNumOfVfs(int maxNumOfVfs) { this.maxNumOfVfs = maxNumOfVfs; } public int getNumOfVfs() { return numOfVfs; } public void setNumOfVfs(int numOfVfs) { this.numOfVfs = numOfVfs; } public boolean isAllNetworksAllowed() { return allNetworksAllowed; } public void setAllNetworksAllowed(boolean allNetworksAllowed) { this.allNetworksAllowed = allNetworksAllowed; } public Set<Guid> getNetworks() { return networks; } public void setNetworks(Set<Guid> networks) { this.networks = networks; } public Set<String> getNetworkLabels() { return networkLabels; } public void setNetworkLabels(Set<String> networkLabels) { this.networkLabels = networkLabels; } @Override public Guid getId() { return this.id; } @Override public void setId(Guid value) { this.id = value; } @Override public Object getQueryableId() { return getId(); } @Override public int hashCode() { return Objects.hashCode(nicId); } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof HostNicVfsConfig)) { return false; } HostNicVfsConfig other = (HostNicVfsConfig) obj; return Objects.equals(nicId, other.nicId); } @Override public String toString() { return ToStringBuilder.forInstance(this) .append("id", getId()) .append("nicId", getNicId()) .append("allNetworksAllowed", isAllNetworksAllowed()) .append("maxNumOfVfs", getMaxNumOfVfs()) .append("numOfVfs", getNumOfVfs()) .append("networks", getNetworks()) .append("networkLabels", getNetworkLabels()) .build(); } }