// formats the ASCII table private ImmutableList<ImmutableList<String>> formatAsciiTable(R report) { ImmutableList.Builder<ImmutableList<String>> table = ImmutableList.builder(); for (int rowIdx = 0; rowIdx < report.getRowCount(); rowIdx++) { table.add(formatRow(report, rowIdx, ReportOutputFormat.ASCII_TABLE)); } return table.build(); }
private String[][] formatTable(R report, ReportOutputFormat format) { String[][] table = new String[report.getRowCount()][]; for (int r = 0; r < table.length; r++) { table[r] = formatRow(report, r, format); } return table; }
/** * Outputs the report table in CSV format. * * @param report the report * @param out the output stream to write to */ @SuppressWarnings("resource") public void writeCsv(R report, OutputStream out) { OutputStreamWriter outputWriter = new OutputStreamWriter(out); CsvOutput csvOut = new CsvOutput(outputWriter); csvOut.writeLine(Arrays.asList(report.getColumnHeaders())); IntStream.range(0, report.getRowCount()) .mapToObj(rowIdx -> Arrays.asList(formatRow(report, rowIdx, ReportOutputFormat.CSV))) .forEachOrdered(csvOut::writeLine); Unchecked.wrap(() -> outputWriter.flush()); }
/** * Outputs the report table in CSV format. * * @param report the report * @param out the output stream to write to */ @SuppressWarnings("resource") public void writeCsv(R report, OutputStream out) { OutputStreamWriter outputWriter = new OutputStreamWriter(out, StandardCharsets.UTF_8); CsvOutput csvOut = new CsvOutput(outputWriter); csvOut.writeLine(report.getColumnHeaders()); IntStream.range(0, report.getRowCount()) .mapToObj(rowIdx -> formatRow(report, rowIdx, ReportOutputFormat.CSV)) .forEach(csvOut::writeLine); Unchecked.wrap(outputWriter::flush); }