/* * $Id$ * * SARL is an general-purpose agent programming language. * More details on http://www.sarl.io * * Copyright (C) 2014-2017 the original authors or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.sarl.m2e; import java.io.File; /** Configuration of a SARL project. * * @author $Author: sgalland$ * @version $FullVersion$ * @mavengroupid $GroupId$ * @mavenartifactid $ArtifactId$ */ class SARLConfiguration { private File input; private File output; private File testInput; private File testOutput; private String inputCompliance; private String outputCompliance; private String encoding; /** Set the uninitialized field with given configuration. * * @param config - the configured values. */ @SuppressWarnings("checkstyle:npathcomplexity") public void setFrom(SARLConfiguration config) { if (this.input == null) { this.input = config.getInput(); } if (this.output == null) { this.output = config.getOutput(); } if (this.testInput == null) { this.testInput = config.getTestInput(); } if (this.testOutput == null) { this.testOutput = config.getTestOutput(); } if (this.inputCompliance == null) { this.inputCompliance = config.getInputCompliance(); } if (this.outputCompliance == null) { this.outputCompliance = config.getOutputCompliance(); } if (this.encoding == null) { this.encoding = config.getEncoding(); } } /** Replies the input file. * * @return the input */ public File getInput() { return this.input; } /** Set the input file. * * @param input the input to set */ public void setInput(File input) { this.input = input; } /** Replies the output file. * * @return the output */ public File getOutput() { return this.output; } /** Set the output file. * * @param output the output to set */ public void setOutput(File output) { this.output = output; } /** Replies the input file for tests. * * @return the testInput */ public File getTestInput() { return this.testInput; } /** Set the input file for tests. * * @param testInput the testInput to set */ public void setTestInput(File testInput) { this.testInput = testInput; } /** Replies the output file for tests. * * @return the testOutput */ public File getTestOutput() { return this.testOutput; } /** Set the output file for tests. * * @param testOutput the testOutput to set */ public void setTestOutput(File testOutput) { this.testOutput = testOutput; } /** Replies the input's Java compliance. * * @return the inputCompliance */ public String getInputCompliance() { return this.inputCompliance; } /** Change the input's Java compliance. * * @param inputCompliance the inputCompliance to set */ public void setInputCompliance(String inputCompliance) { this.inputCompliance = inputCompliance; } /** Replies the output's Java compliance. * * @return the outputCompliance */ public String getOutputCompliance() { return this.outputCompliance; } /** Change the output's Java compliance. * * @param outputCompliance the outputCompliance to set */ public void setOutputCompliance(String outputCompliance) { this.outputCompliance = outputCompliance; } /** Replies the encoding of the files. * * @return the encoding */ public String getEncoding() { return this.encoding; } /** Change the encoding of the files. * * @param encoding the encoding to set */ public void setEncoding(String encoding) { this.encoding = encoding; } @Override public String toString() { return "input = " + this.input //$NON-NLS-1$ + "\noutput = " + this.output //$NON-NLS-1$ + "\ntestInput = " + this.testInput //$NON-NLS-1$ + "\ntestOutput = " + this.testOutput //$NON-NLS-1$ + "\ninputCompliance = " + this.inputCompliance //$NON-NLS-1$ + "\noutputCompliance = " + this.outputCompliance //$NON-NLS-1$ + "\nencoding = " + this.encoding; //$NON-NLS-1$ } }