OpenCsv - бин в csv с необязательным столбцом - PullRequest
0 голосов
/ 30 января 2020

Как преобразовать мой Bean MyClassCsv в csv с именем необязательного столбца? Столбец 'title' должен содержаться или не содержаться в CSV.

Боб:

@Builder
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Setter
public class MyClassCsv implements Serializable {

    private static final long serialVersionUID = -6476622625063619084L;

    @CsvBindByName(column = "id")
    private Integer id;

    @CsvBindByName(column = "name")
    private String name; 

    @CsvBindByName(column = "title")
    private String title; 

    ...
}

Запись в CSV:

final Writer writer = new FileWriter(fileCsv.getPath());

try {
    final HeaderColumnNameMappingStrategy<HoteIncbCsv> strategy = new HeaderColumnNameMappingStrategy<>();
    strategy.setType(MyClassCsv.class);

    // **** optional mapped 'title'  ***** //
    if (!useTitle) {
        // ?????????
    }

    final StatefulBeanToCsv beanToCsv = new StatefulBeanToCsvBuilder(writer).withMappingStrategy(strategy).withSeparator(';').withApplyQuotesToAll(false).build();

    // Ecriture dans le fichier CSV de sortie
    beanToCsv.write(myClassCsv);

} finally {
    writer.close();
}

Спасибо

...