private void writeFieldValues(List<? extends DataTableField> fields, Map<String, String> fieldValues, ICellStyle cellStyle) { for (int i = 0; i < fields.size(); i++) { DataTableField field = fields.get(i); if (field.isFillChildren()) { writeFieldValues(field.getAggregatedFields(), fieldValues, cellStyle); } else { String fieldName = field.getName(); writeCell(i, getCurrentRow(), 1, 1, fieldValues.get(fieldName), cellStyle); } } } }
/** * Write a field's description for a given data table (field technical and * business names and their foreign keys). * * @param fields a fields list */ public void writeFieldNames(List<? extends DataTableField> fields) { if (getTableRegion() == null) { throw new IllegalStateException("beginTable() has to be called"); } this.fields = fields; boolean hasForeignKeys = hasForeignKeys(fields); fieldNameRow = getCurrentRow(); foreignKeyRow = hasForeignKeys ? fieldNameRow + 1 : NOT_INITIALIZED; businessNameRow = hasForeignKeys ? fieldNameRow + 2 : fieldNameRow + 1; writeFields("", fields, 0); incCurrentRow(hasForeignKeys ? 3 : 2); }