if (SupportLogger.LOGGER.isTraceEnabled()) {
SupportLogger.LOGGER.tracef("About to write items, number of items %s, element type %s%n",
items.size(), items.get(0).getClass());
}
if (delegateWriter instanceof ICsvBeanWriter) {
final ICsvBeanWriter writer = (ICsvBeanWriter) delegateWriter;
if (cellProcessorInstances.length == 0) {
for (final Object e : items) {
writer.write(e, nameMapping);
}
} else {
for (final Object e : items) {
writer.write(e, nameMapping, cellProcessorInstances);
}
}
} else if (delegateWriter instanceof ICsvMapWriter) {
final ICsvMapWriter writer = (ICsvMapWriter) delegateWriter;
if (cellProcessorInstances.length == 0) {
for (final Object e : items) {
writer.write((Map<String, ?>) e, nameMapping);
}
} else {
for (final Object e : items) {
writer.write((Map<String, ?>) e, nameMapping, cellProcessorInstances);
}
}
} else if (delegateWriter instanceof ICsvListWriter) {
final ICsvListWriter writer = (ICsvListWriter) delegateWriter;
if (cellProcessorInstances.length == 0) {
for (final Object e : items) {
writer.write((List<?>) e);
}
} else {
for (final Object e : items) {
writer.write((List<?>) e, cellProcessorInstances);
}
}
}
delegateWriter.flush();
}