You can
- Write your own
BigDecimalToStringConverter implements Converter<BigDecimal, String>
to format big decimal without trailing 0's - Create a new
ConversionService
(MyConversionService
) and register into the custom converter - Extends
DelimitedLineAggregator
, injectMyConversionService
, overridedoAggregate()
to format fields using injected conversion service
public class MyConversionService extends DefaultConversionService {
public MyConversionService() {
super();
addConverter(new BigDecimalToStringConverter());
}
}
public class MyFieldLineAggregator<T> extends DelimitedLineAggregator<T> {
private ConversionService cs = new MyConversionService();
public String doAggregate(Object[] fields) {
for(int i = 0;i < fields.length;i++) {
final Object o = fields[i];
if(cs.canConvert(o.getClass(), String.class)) {
fields[i] = cs.convert(o, String.class);
}
}
return super.doAggregate(fields);
}
}