package at.ac.univie.mminf.qskos4j.result; import java.io.BufferedWriter; import java.io.IOException; import java.util.Collection; public class ExtrapolatedCollectionResult<T> extends CollectionResult<T> { private Float subsetSize_percent; private Collection<T> data; public ExtrapolatedCollectionResult(Collection<T> data, Float subsetSize_percent) { super(data); this.data = data; this.subsetSize_percent = subsetSize_percent; } @Override protected void generateTextReport(BufferedWriter osw, ReportStyle style) throws IOException { switch (style) { case SHORT: osw.write(getShortReport()); break; case EXTENSIVE: super.generateTextReport(osw, style); break; } } private String getShortReport() { long elementCount = data.size(); StringBuilder report = new StringBuilder("count: "+elementCount); if (subsetSize_percent != null) { elementCount *= 100 / subsetSize_percent; report.append(", extrapolated: ").append(elementCount); } return report.toString(); } }