package org.ovirt.engine.core.common.businessentities; import java.util.LinkedList; import java.util.List; import java.util.Objects; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import org.ovirt.engine.core.common.validation.annotation.ValidDescription; import org.ovirt.engine.core.common.validation.annotation.ValidI18NName; import org.ovirt.engine.core.common.validation.group.CreateEntity; import org.ovirt.engine.core.common.validation.group.UpdateEntity; import org.ovirt.engine.core.compat.Guid; public class IscsiBond implements IVdcQueryable, BusinessEntity<Guid>, Nameable { private static final long serialVersionUID = 6318808440502965971L; private Guid id; private Guid storagePoolId; @NotNull(message = "VALIDATION_ISCSI_BOND_NAME_NOT_NULL", groups = { CreateEntity.class, UpdateEntity.class }) @Size(min = 1, max = 50, message = "VALIDATION_ISCSI_BOND_NAME_MAX", groups = { CreateEntity.class, UpdateEntity.class }) @ValidI18NName(message = "VALIDATION_ISCSI_BOND_NAME_INVALID_CHARACTER", groups = { CreateEntity.class, UpdateEntity.class }) private String name; @Size(max = BusinessEntitiesDefinitions.GENERAL_MAX_SIZE, message = "VALIDATION_ISCSI_BOND_DESCRIPTION_MAX", groups = { CreateEntity.class, UpdateEntity.class }) @ValidDescription(message = "VALIDATION_ISCSI_BOND_DESCRIPTION_INVALID", groups = { CreateEntity.class, UpdateEntity.class }) private String description; private List<Guid> networkIds; private List<String> storageConnectionIds; public IscsiBond() { networkIds = new LinkedList<>(); storageConnectionIds = new LinkedList<>(); } public IscsiBond(Guid id, Guid storagePoolId, String name, String description) { this(); this.id = id; this.storagePoolId = storagePoolId; this.name = name; this.description = description; } @Override public Guid getId() { return id; } @Override public void setId(Guid id) { this.id = id; } public Guid getStoragePoolId() { return storagePoolId; } public void setStoragePoolId(Guid storagePoolId) { this.storagePoolId = storagePoolId; } @Override public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public List<Guid> getNetworkIds() { return networkIds; } public void setNetworkIds(List<Guid> networkIds) { this.networkIds = networkIds; } public List<String> getStorageConnectionIds() { return storageConnectionIds; } public void setStorageConnectionIds(List<String> connectionIds) { this.storageConnectionIds = connectionIds; } @Override public Object getQueryableId() { return getId(); } @Override public int hashCode() { return Objects.hash( id, name, description, storagePoolId, networkIds, storageConnectionIds ); } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof IscsiBond)) { return false; } IscsiBond other = (IscsiBond) obj; return Objects.equals(id, other.id) && Objects.equals(name, other.name) && Objects.equals(description, other.description) && Objects.equals(storagePoolId, other.storagePoolId) && Objects.equals(networkIds, other.networkIds) && Objects.equals(storageConnectionIds, other.storageConnectionIds); } }