package org.dcache.webadmin.view.beans;
import com.google.common.collect.ComparisonChain;
import com.google.common.collect.Ordering;
import java.io.Serializable;
/**
*
* @author jans
*/
public class CellServicesBean implements Comparable<CellServicesBean>,
Serializable {
private static final long serialVersionUID = 8879607744752544606L;
private String _name = "";
private String _domainName = "";
private String _createdDateTime = "unknown";
private String _version = "";
private long _ping = Long.MAX_VALUE;
private int _threadCount;
private int _eventQueueSize;
public String getCreatedDateTime() {
return _createdDateTime;
}
public void setCreatedDateTime(String createdDateTime) {
_createdDateTime = createdDateTime;
}
public String getDomainName() {
return _domainName;
}
public void setDomainName(String domainName) {
_domainName = domainName;
}
public int getEventQueueSize() {
return _eventQueueSize;
}
public void setEventQueueSize(int eventQueueSize) {
_eventQueueSize = eventQueueSize;
}
public String getName() {
return _name;
}
public void setName(String name) {
_name = name;
}
public String getPing() {
return (_ping != Long.MAX_VALUE) ? String.valueOf(_ping) : "not reached";
}
public void setPing(long ping) {
_ping = ping;
}
public int getThreadCount() {
return _threadCount;
}
public void setThreadCount(int threadCount) {
_threadCount = threadCount;
}
public String getVersion() {
return _version;
}
public void setVersion(String version) {
_version = version;
}
@Override
public int hashCode() {
return getName().hashCode() ^ getDomainName().hashCode();
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if (!(other instanceof CellServicesBean)) {
return false;
}
CellServicesBean otherBean = (CellServicesBean) other;
return (getName().equals(otherBean.getName()) &&
getDomainName().equals(otherBean.getDomainName()));
}
@Override
public int compareTo(CellServicesBean other) {
return ComparisonChain.start()
.compare(getName(), other.getName(),
Ordering.natural().nullsLast())
.compare(getDomainName(), other.getDomainName(),
Ordering.natural().nullsLast())
.result();
}
}