package org.distributeme.registry.ui.bean; import net.anotheria.util.sorter.IComparable; import static org.distributeme.registry.ui.bean.ServiceDescriptorFormBeanSortType.*; /** * Bean for communication between controller and view. * * @author dsilenko */ public class ServiceDescriptorFormBean implements net.anotheria.util.sorter.IComparable{ /** * The id of the service - usually a string delivered from the interface and package name. */ private String serviceId; /** * Host on which the service is running. */ private String host; /** * Port on which the local rmi registry is running. */ private int port; /** * The protocol this instance supports. */ private String protocol; /** * A unique id (random generated) which is only valid for the live time of the one instance. */ private String instanceId; /** * Full service id. */ private String globalServiceId; /** * Registration string of binded service. */ private String registrationString; /** * Is service online or not. */ private boolean isOnline; /** * Default constructor. */ public ServiceDescriptorFormBean() { } public String getServiceId() { return serviceId; } public void setServiceId(String serviceId) { this.serviceId = serviceId; } public String getHost() { return host; } public void setHost(String host) { this.host = host; } public int getPort() { return port; } public void setPort(int port) { this.port = port; } public String getProtocol() { return protocol; } public void setProtocol(String protocol) { this.protocol = protocol; } public String getInstanceId() { return instanceId; } public void setInstanceId(String instanceId) { this.instanceId = instanceId; } public String getGlobalServiceId() { return globalServiceId; } public void setGlobalServiceId(String globalServiceId) { this.globalServiceId = globalServiceId; } public String getRegistrationString() { return registrationString; } public void setRegistrationString(String registrationString) { this.registrationString = registrationString; } public boolean isOnline() { return isOnline; } public void setOnline(boolean online) { isOnline = online; } @Override public String toString() { return "ServiceDescriptorFormBean{" + "serviceId='" + serviceId + '\'' + ", host='" + host + '\'' + ", port='" + port + '\'' + ", protocol='" + protocol + '\'' + ", instanceId='" + instanceId + '\'' + ", globalServiceId='" + globalServiceId + '\'' + ", registrationString='" + registrationString + '\'' + ", isOnline=" + isOnline + '}'; } @Override public int compareTo(IComparable anotherComprable, int method) { ServiceDescriptorFormBean bean = (ServiceDescriptorFormBean)anotherComprable; switch(method){ case SORT_BY_SERVICEID: return net.anotheria.util.BasicComparable.compareString(serviceId, bean.serviceId); case SORT_BY_HOST: return net.anotheria.util.BasicComparable.compareString(host, bean.host); case SORT_BY_PORT: return net.anotheria.util.BasicComparable.compareInt(port, bean.port); case SORT_BY_PROTOCOL: return net.anotheria.util.BasicComparable.compareString(protocol, bean.protocol); case SORT_BY_INSTANCEID: return net.anotheria.util.BasicComparable.compareString(instanceId, bean.instanceId); case SORT_BY_GLOBALSERVICEID: return net.anotheria.util.BasicComparable.compareString(globalServiceId, bean.globalServiceId); default: throw new IllegalArgumentException("Unsupported method for sorting "+method); } } }