/** * Copyright (c) 2010-2016 by the respective copyright holders. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html */ package org.openhab.binding.homematic.internal.communicator.client; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.commons.lang.builder.ToStringStyle; /** * Simple info object to hold server specific informations. * * @author Gerhard Riegler * @since 1.6.0 */ public class ServerId { private String name; private String version; private String address; public ServerId(String serverName) { if (StringUtils.equalsIgnoreCase(serverName, "Homegear")) { name = "Homegear"; } else { name = "CCU"; } } /** * Returns the name of the server. */ public String getName() { return name; } /** * Returns the version of the server. */ public String getVersion() { return version; } /** * Sets the version of the server. */ public void setVersion(String version) { this.version = version; } /** * Returns the address of the Homematic server. */ public String getAddress() { return address; } /** * Sets the address of the Homematic server. */ public void setAddress(String address) { this.address = address; } /** * Returns true, if the server is a Homegear server. */ public boolean isHomegear() { return "homegear".equalsIgnoreCase(name); } /** * {@inheritDoc} */ @Override public String toString() { ToStringBuilder tsb = new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE).append("name", name) .append("version", StringUtils.defaultIfBlank(version, "unknown")); if (address != null) { tsb.append("address", address); } return tsb.toString(); } }