package ro.nextreports.server.web.analysis.feature.export; import java.io.ByteArrayOutputStream; import java.util.List; import ro.nextreports.server.web.analysis.AnalysisDataProvider; public class CsvResource extends ExportResource { private static final long serialVersionUID = 1L; private AnalysisDataProvider provider; private transient CsvWriter writer; public CsvResource(AnalysisDataProvider provider) { super(provider, CSV_CONTENT_TYPE); } @Override protected void printHeader(List<String> header, ByteArrayOutputStream out) { writer = new CsvWriter(out); for (String head : header) { writer.write(head); } writer.endLine(); } @Override protected void createDetailRow(int row) { } @Override protected void createDetailCell(int column, Object element) { writer.write(element); } @Override protected void endDetailRow() { writer.endLine(); } @Override protected void write(ByteArrayOutputStream out) { writer.close(); } }