package org.ovirt.engine.core.common.businessentities.network;
import java.util.Objects;
import org.ovirt.engine.core.common.businessentities.BusinessEntityWithStatus;
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 NetworkCluster implements IVdcQueryable, BusinessEntityWithStatus<NetworkClusterId, NetworkStatus> {
private static final long serialVersionUID = -4900811332744926545L;
private NetworkClusterId id;
private NetworkStatus status;
private boolean display;
/**
* A cluster network can be tagged as monitored. Monitored network have implications on automated actions taken on a
* host during monitoring.
*/
private boolean required;
private boolean migration;
private boolean management;
private boolean defaultRoute;
private boolean gluster;
public NetworkCluster() {
this(null, null, NetworkStatus.NON_OPERATIONAL, false, true, false, false, false, false);
}
public NetworkCluster(boolean required) {
this.required = required;
}
public NetworkCluster(Guid clusterId,
Guid networkId,
NetworkStatus status,
boolean display,
boolean required,
boolean migration,
boolean management,
boolean gluster,
boolean defaultRoute) {
this(required);
id = new NetworkClusterId();
id.setClusterId(clusterId);
id.setNetworkId(networkId);
this.status = status;
this.display = display;
this.migration = migration;
this.management = management;
this.gluster = gluster;
this.defaultRoute = defaultRoute;
}
@Override
public NetworkClusterId getId() {
return id;
}
@Override
public void setId(NetworkClusterId id) {
this.id = id;
}
public Guid getClusterId() {
return id.getClusterId();
}
public void setClusterId(Guid value) {
id.setClusterId(value);
}
public Guid getNetworkId() {
return id.getNetworkId();
}
public void setNetworkId(Guid value) {
id.setNetworkId(value);
}
@Override
public NetworkStatus getStatus() {
return this.status;
}
@Override
public void setStatus(NetworkStatus value) {
this.status = value;
}
public boolean isDisplay() {
return this.display;
}
public void setDisplay(boolean value) {
this.display = value;
}
public boolean isRequired() {
return required;
}
public void setRequired(boolean required) {
this.required = required;
}
public boolean isMigration() {
return migration;
}
public void setMigration(boolean migration) {
this.migration = migration;
}
public boolean isManagement() {
return management;
}
public void setManagement(boolean management) {
this.management = management;
}
public boolean isGluster() {
return gluster;
}
public void setGluster(boolean gluster) {
this.gluster = gluster;
}
public boolean isDefaultRoute() {
return defaultRoute;
}
public void setDefaultRoute(boolean defaultRoute) {
this.defaultRoute = defaultRoute;
}
@Override
public Object getQueryableId() {
return getId();
}
@Override
public String toString() {
return ToStringBuilder.forInstance(this)
.append("id", getId())
.append("status", getStatus())
.append("display", isDisplay())
.append("required", isRequired())
.append("migration", isMigration())
.append("management", isManagement())
.append("gluster", isGluster())
.append("defaultRoute", isDefaultRoute())
.build();
}
@Override
public int hashCode() {
return Objects.hash(
display,
status,
id,
required,
migration,
management,
gluster,
defaultRoute
);
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof NetworkCluster)) {
return false;
}
NetworkCluster other = (NetworkCluster) obj;
return display == other.display
&& status == other.status
&& Objects.equals(id, other.id)
&& required == other.required
&& migration == other.migration
&& management == other.management
&& gluster == other.gluster
&& defaultRoute == other.defaultRoute;
}
}