private Row(final HeaderDefinition headerDefinition, final String[] values) { if (headerDefinition.size() != values.length) { s_logger.error("Attempt to create a Row with a header definition containing {} columns and a values array containing {} values", headerDefinition.size(), values.length); throw new QuandlRuntimeException("headerDefinition and values array are of differing length"); } _headerDefinition = headerDefinition; _values = values; }
/** * Create row with new header. * * @param headerDefinition the header definition * @return a new Row with the new header definition */ public Row withPaddedHeader(final HeaderDefinition headerDefinition) { if (_headerDefinition != headerDefinition) { String[] values = new String[headerDefinition.size()]; System.arraycopy(_values, 0, values, 0, _values.length); return Row.of(headerDefinition, values); } else { return this; } }
private static int[] maximumWidths(final TabularResult result) { HeaderDefinition headerDefinition = result.getHeaderDefinition(); int[] maxWidths = new int[headerDefinition.size()]; int count = 0; for (String columnName : headerDefinition.getColumnNames()) { maxWidths[count++] = columnName.length(); } Iterator<Row> iterator = result.iterator(); while (iterator.hasNext()) { Row row = iterator.next(); for (int i = 0; i < row.size(); i++) { String columnValue = row.getString(i); if (columnValue != null) { maxWidths[i] = Math.max(maxWidths[i], columnValue.length()); } else { maxWidths[i] = Math.max(maxWidths[i], NULL_SIZE); } } } return maxWidths; } }
resultTableWidth += table.getHeaderDefinition().size() - 1; // exclude the date column. final List<String> names = table.getHeaderDefinition().getColumnNames(); final Iterator<String> iter = names.iterator();