:
public class MyRowProcessor<T> implements RowProcessor {
private final BeanListProcessor<T> wrappedProcessor;
public MyRowProcessor(Class<T> beanType) {
wrappedProcessor = new BeanListProcessor<T>(beanType);
}
@Override
public void processStarted(ParsingContext context) {
wrappedProcessor.processStarted(context);
}
@Override
public void rowProcessed(String[] row, ParsingContext context) {
if(row.length != context.headers().length){
return;
}
wrappedProcessor.rowProcessed(row, context);
}
@Override
public void processEnded(ParsingContext context) {
wrappedProcessor.processEnded(context);
}
public List<T> getBeans() {
return wrappedProcessor.getBeans();
}
}
, , :
MyRowProcessor<SomeObject> processor = new MyRowProcessor<SomeObject>(SomeObject.class);
settings.setRowProcessor(processor);
settings.setHeaderExtractionEnabled(true);
CsvParser parser = new CsvParser(settings);
parser.parse(new File("/path/to/file"));
List<TestBean> beans = processor.getBeans();