/******************************************************************************* * 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.builder.internal; import org.eclipse.che.api.builder.dto.BaseBuilderRequest; import org.eclipse.che.dto.server.DtoFactory; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; /** * Builder configuration for particular build process. * * @author andrew00x */ public class BuilderConfiguration { private final java.io.File buildDir; private final java.io.File workDir; private final BuilderTaskType taskType; private final BaseBuilderRequest request; public BuilderConfiguration(java.io.File buildDir, java.io.File workDir, BuilderTaskType taskType, BaseBuilderRequest request) { this.buildDir = buildDir; this.workDir = workDir; this.taskType = taskType; this.request = request; } public java.io.File getWorkDir() { return workDir; } public java.io.File getBuildDir() { return buildDir; } public BuilderTaskType getTaskType() { return taskType; } public List<String> getTargets() { return new ArrayList<>(request.getTargets()); } public Map<String, String> getOptions() { return new LinkedHashMap<>(request.getOptions()); } public BaseBuilderRequest getRequest() { return DtoFactory.getInstance().clone(request); } @Override public String toString() { return "BuilderConfiguration{" + "workDir=" + workDir + ", taskType=" + taskType + ", request=" + request + '}'; } }