/******************************************************************************* * Copyright (c) 2012-2015 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.api.runner.internal; import org.eclipse.che.api.core.rest.shared.dto.Link; import org.eclipse.che.api.runner.dto.RunRequest; import org.eclipse.che.dto.server.DtoFactory; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * Runner configuration for particular run process. * * @author andrew00x */ public class RunnerConfiguration { private final int memory; private final List<Link> links; private final RunRequest request; private String host; private Map<String, String> portMapping; private String debugHost; private int debugPort; private java.io.File recipeFile; public RunnerConfiguration(int memory, RunRequest request) { this.memory = memory; this.request = request; this.links = new ArrayList<>(2); this.portMapping = new HashMap<>(4); this.debugPort = -1; } public RunnerConfiguration(int memory, RunRequest request, List<Link> links) { this.memory = memory; this.request = request; this.links = new ArrayList<>(links); this.portMapping = new HashMap<>(4); this.debugPort = -1; } public int getMemory() { return memory; } /** * Get application links. List of links is modifiable. * * @return application links */ public List<Link> getLinks() { return links; } public RunRequest getRequest() { return DtoFactory.getInstance().clone(request); } public String getHost() { return host; } public void setHost(String host) { this.host = host; } public Map<String, String> getPortMapping() { return portMapping; } public String getDebugHost() { return debugHost; } public void setDebugHost(String debugHost) { this.debugHost = debugHost; } public int getDebugPort() { return debugPort; } public void setDebugPort(int debugPort) { this.debugPort = debugPort; } public java.io.File getRecipeFile() { return recipeFile; } public void setRecipeFile(java.io.File recipeFile) { this.recipeFile = recipeFile; } @Override public String toString() { return "RunnerConfiguration{" + "memory=" + memory + ", links=" + links + ", request=" + request + ", host='" + host + '\'' + ", portMapping=" + portMapping + ", debugHost='" + debugHost + '\'' + ", debugPort=" + debugPort + '}'; } }