@Override
public void marshal (final @Nonnull OutputStream os)
throws IOException
{
final StringWriter sw = new StringWriter();
final PrintWriter pw = new PrintWriter(sw);
final int rows = uniformityMeasurements.getRows();
final int columns = uniformityMeasurements.getColumns();
final DateTimeFormatter formatter = ISODateTimeFormat.dateTimeNoMillis();
pw.printf("%s ; D='%s' ; P='%s'", formatter.print(uniformityMeasurements.getDateTime()),
uniformityMeasurements.getDisplay().getDisplay().getDisplayName(),
uniformityMeasurements.getDisplay().getProfileName());
for (int row = 0; row < rows; row++)
{
for (int column = 0; column < columns; column++)
{
final UniformityMeasurement measurement = uniformityMeasurements.getAt(xy(column, row));
pw.printf(" ; L[%d,%d]=%3d", column, row, measurement.getLuminance());
pw.printf(" ; T[%d,%d]=%5d", column, row, measurement.getTemperature().getValue());
}
}
pw.println();
pw.close();
os.write(sw.toString().getBytes());
}
}