@SuppressWarnings("unchecked")
public void extract() {
Set<Field> columnFields = ReflectionUtils.getAllFields(type, withAnnotation(Column.class));
for (Field columnField : columnFields) {
Column annotation = columnField.getAnnotation(Column.class);
Col col = null;
if (annotation.name().isEmpty()) {
col = new Col(columnField.getName(), columnField.getName());
} else {
col = new Col(annotation.name(), columnField.getName());
}
if (annotation.ignoreType()) {
col.setType(String.class);
} else {
col.setType(columnField.getType());
}
if (!annotation.dataFormat().isEmpty()) {
col.setDataFormat(annotation.dataFormat());
}
if (annotation.converter() != NoConverterClass.class) {
col.setConverter(annotation.converter());
}
columns.add(col);
}
if (colsOrdering != null) {