package hudson.plugins.cobertura.targets;
import java.io.Serializable;
import java.util.Map;
import java.util.Map.Entry;
import hudson.plugins.cobertura.Ratio;
import org.kohsuke.stapler.export.Exported;
import org.kohsuke.stapler.export.ExportedBean;
@ExportedBean
public class CoverageTree implements Serializable {
/**
* Generated
*/
private static final long serialVersionUID = 5112467356061418891L;
private Map<CoverageMetric, Ratio> aggregateResults;
private Map<String, CoverageResult> children;
private String name;
public CoverageTree(String name, Map<CoverageMetric, Ratio> aggregateResults,
Map<String, CoverageResult> children) {
this.name=name;
this.aggregateResults=aggregateResults;
this.children=children;
}
@Exported
public String getName(){
return name;
}
@Exported
public CoverageTreeElement[] getElements(){
CoverageTreeElement[] cte=new CoverageTreeElement[aggregateResults.size()];
int current=0;
for (Entry<CoverageMetric, Ratio> e: aggregateResults.entrySet()){
cte[current]=new CoverageTreeElement(e.getKey(), e.getValue());
current++;
}
return cte;
}
@Exported
public CoverageTree[] getChildren(){
CoverageTree[] ct=new CoverageTree[children.size()];
int current=0;
for (Entry<String, CoverageResult> e: children.entrySet()){
ct[current]=new CoverageTree(e.getKey(), e.getValue().getResults(), e.getValue().getChildrenReal());
current++;
}
return ct;
}
}