/******************************************************************************* * Copyright (c) 2012-2017 Codenvy, S.A. * 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 * * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ package org.eclipse.che.ide.api.debug; import java.util.Map; import java.util.Objects; /** * Represents debug configuration. * * @author Artem Zatsarynnyi */ public class DebugConfiguration { private final DebugConfigurationType type; private String name; private String host; private int port; private Map<String, String> connectionProperties; /** * Creates new debug configuration. * * @param type * type of the configuration * @param name * configuration's name * @param host * debugger host * @param port * debugger port * @param connectionProperties * additional properties for connecting to the debugger */ public DebugConfiguration(DebugConfigurationType type, String name, String host, int port, Map<String, String> connectionProperties) { this.type = type; this.name = name; this.host = host; this.port = port; this.connectionProperties = connectionProperties; } /** Returns configuration's type. */ public DebugConfigurationType getType() { return type; } /** Returns configuration's name. */ public String getName() { return name; } /** Sets new name for this configuration. */ public void setName(String name) { this.name = name; } /** Returns debugger host. */ public String getHost() { return host; } /** Sets host for this configuration. */ public void setHost(String host) { this.host = host; } /** Returns debugger port. */ public int getPort() { return port; } /** Sets port for this configuration. */ public void setPort(int port) { this.port = port; } /** Returns additional connection properties. */ public Map<String, String> getConnectionProperties() { return connectionProperties; } /** Sets additional connection properties. */ public void setConnectionProperties(Map<String, String> connectionProperties) { this.connectionProperties = connectionProperties; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof DebugConfiguration)) { return false; } DebugConfiguration other = (DebugConfiguration)o; return Objects.equals(getType().getId(), other.getType().getId()) && Objects.equals(getName(), other.getName()) && Objects.equals(getHost(), other.getHost()) && Objects.equals(getPort(), other.getPort()) && Objects.equals(getConnectionProperties(), other.getConnectionProperties()); } @Override public int hashCode() { return Objects.hash(getName(), getType().getId(), getHost(), getPort(), getConnectionProperties()); } }