I think it would be cool if users had the choice of defining the bindgings in XML or in a Java class. Personally, I like to keep everything in Java.
It would have been really nice to get some warning like "HEY!!!! we found a UTF-8 BOM at the start of this CSV file and we're including it in the XXX column heading. You probably don't want this. Go fix your input file." It took me ages to figure out why a daily file parser just broke. The ASCII still looked fine. Finally I opened it in a hex editor to look for unprintable characters and there they were. I could add something like that warning. To suppress it maybe add to CsvToBeanBuilder: .with...
It would have been really nice to get some warning like "HEY!!!! we found a UTF-8 BOM at the start of this CSV file and we're including it in the XXX column heading. You probably don't want this. Go fix your input file." It took me ages to figure out why a daily file parser just broke. The ASCII still looked fine. Finally I opened it in a hex editor to look for unprintable characters and there they were.
dos2unix and sed '1s/^\xEF\xBB\xBF//' will both strip that BOM
Parse files starting with UTF-8 byte order mark
ah never mind. Looks like CsvBindAndJoinByName does exactly what I was thinking.
CsvBindByName on any of several possible header strings?
Are you suggesting I add a 51st field to AnnotatedMockBeanFull? @CsvBindByName(column = "currency1", required = false) @CsvBindByPosition(position = 51, required = false) private Currency testCurrency;