package hudson.plugins.cppncss.parser; import hudson.model.AbstractBuild; import java.io.Serializable; import java.util.Collection; import java.util.Collections; public class StatisticsResult implements Serializable { //cppncss function results private Collection<Statistic> functionResults = Collections.emptySet(); //cppncss file results private Collection<Statistic> fileResults = Collections.emptySet(); private AbstractBuild<?, ?> owner; public void setFunctionResults(Collection<Statistic> functionResults) { this.functionResults = functionResults; } public Collection<Statistic> getFunctionResults() { return functionResults; } public void setFileResults(Collection<Statistic> fileResults) { this.fileResults = fileResults; } public Collection<Statistic> getFileResults() { return fileResults; } public static StatisticsResult merge(StatisticsResult results, StatisticsResult result) { StatisticsResult mergeResult = new StatisticsResult(); mergeResult.setFileResults(Statistic.merge(results.getFileResults(), result.getFileResults())); mergeResult.setFunctionResults(Statistic.merge(results.getFunctionResults(), result.getFunctionResults())); return mergeResult; } public static StatisticsTotalResult total(StatisticsResult results) { StatisticsTotalResult totalResult = new StatisticsTotalResult(); totalResult.setFunctionTotal( Statistic.total(results.getFunctionResults())); totalResult.setFileTotal( Statistic.total(results.getFileResults())); return totalResult; } public void clear() { functionResults.clear(); fileResults.clear(); } public AbstractBuild<?, ?> getOwner() { return owner; } public void setOwner(AbstractBuild<?, ?> owner) { this.owner = owner; for (Statistic result : functionResults) { result.setOwner(owner); } for (Statistic result : fileResults) { result.setOwner(owner); } } public void set(StatisticsResult that) { this.fileResults = that.fileResults; this.functionResults = that.functionResults; } }