/** * Returns a new populated bean. WARNING: This implementation returns null for the header row if * the ColumnMapping requires a header row. */ @SuppressWarnings({"unchecked", "rawtypes"}) @Override public T getRow(String[] row, int rowNumber) { if (rowNumber == headerRow) { if (columnMapping.requiresHeaderRow()) { columnMapping.setHeaderRow(row); return null; } } T bean = (T) beanFactory.createBean(type); for (int i = 0; i < row.length; i++) { String property = columnMapping.getProperty(i); if (property == null) { continue; } DataConverter converter = getConverterRegistry().getConverter(property); if (converter != null) { Object value = converter.convert(row[i]); propertyAccessor.setProperty(bean, property, value); } else { propertyAccessor.setProperty(bean, property, row[i]); } } return bean; }
@SuppressWarnings("unchecked") @Override public TO convert(Object from) { return converter.convert((FROM) from); }