All Downloads are FREE. Search and download functionalities are using the official Maven repository.

fr.inria.gforge.spoon.logging.ReportBuilderImpl Maven / Gradle / Ivy

There is a newer version: 3.8.0
Show newest version
package fr.inria.gforge.spoon.logging;

import java.io.File;
import java.util.HashMap;
import java.util.Map;

class ReportBuilderImpl implements ReportBuilder {

	enum ReportKey {
		PROJECT_NAME, FRAGMENT_MODE, PROCESSORS, MODULE_NAME, INPUT, OUTPUT, SOURCE_CLASSPATH, PERFORMANCE
	}

	private final Map reportsData = new HashMap();
	private final ReportDao reportDao;

	ReportBuilderImpl(File resultFile) {
		reportDao = new ReportDaoImpl(resultFile);
	}

	@Override
	public ReportBuilder setProjectName(String name) {
		reportsData.put(ReportKey.PROJECT_NAME, name);
		return this;
	}

	@Override
	public ReportBuilder setProcessors(String[] processors) {
		reportsData.put(ReportKey.PROCESSORS, processors);
		return this;
	}

	@Override
	public ReportBuilder setModuleName(String name) {
		reportsData.put(ReportKey.MODULE_NAME, name);
		return this;
	}

	@Override
	public ReportBuilder setInput(String input) {
		reportsData.put(ReportKey.INPUT, input);
		return this;
	}

	@Override
	public ReportBuilder setOutput(String output) {
		reportsData.put(ReportKey.OUTPUT, output);
		return this;
	}

	@Override
	public ReportBuilder setSourceClasspath(String sourceClasspath) {
		reportsData.put(ReportKey.SOURCE_CLASSPATH, sourceClasspath);
		return this;
	}

	@Override
	public ReportBuilder setPerformance(long performance) {
		reportsData.put(ReportKey.PERFORMANCE, performance);
		return this;
	}

	@Override
	public void buildReport() {
		reportDao.save(reportsData);
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy