Я использую OpenCSV 3.8 для записи данных в файлы CSV.
У меня есть несколько классов, поезд, билеты ... Так что я не хочу писать один и тот же код для каждого класса.
Я сделал это (я удалил некоторые строки, которые не важны):
public <T extends ExportDTO> void exportByTable(List<T> exportList) {
Writer csvWriter = new FileWriter(csvPath);
StatefulBeanToCsvBuilder<T> builder = new StatefulBeanToCsvBuilder<T>(csvWriter);
StatefulBeanToCsv<T> sbc = builder
.withSeparator(CSV_SEPARATOR)
.build();
sbc.write(exportList);
Каждый класс имеет ExportDTO в качестве суперкласса, в ExportDTO ничего нет, но в Ticket или Train у меня есть атрибуты с аннотациями (opencsv).
Но этот код записывает пустой CSV, потому что он принимает класс ExportDTO, у которого нет атрибута для записи CSV. (Я вызываю метод с List<Train>
объектом)
Я что-то не так делаю? или для этого нельзя сделать универсальный метод?