Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/exports/StepCSVWriter.java @ 3294:5e52202302e5
SQ relation: Handle the error case of accessing wrong indexed SQ relation more smoothly.
flys-artifacts/trunk@4973 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Fri, 13 Jul 2012 08:25:13 +0000 |
parents | 475dd07c2cb1 |
children |
line wrap: on
line source
package de.intevation.flys.exports; import au.com.bytecode.opencsv.CSVWriter; import java.util.ArrayList; import java.util.Arrays; /** * Class to overcome shortcoming of CSVWriter to accept String-Arrays only. * The StepCSVWriter buffers incoming values, such that rows in a csv can be * created more dynamically. Do not forget to call flush(). */ public class StepCSVWriter { /** Writer to use when calling flush. */ CSVWriter writer = null; /** Buffer of strings (values). */ ArrayList<String> buffer; /** Trivial constructor. */ public StepCSVWriter() { buffer = new ArrayList<String>(); } /** Set writer. */ public void setCSVWriter(CSVWriter writer) { this.writer = writer; } /** Add a value to next flush. */ public void addNext(String value) { buffer.add(value); } /** Add many values to next flush. */ public void addNexts(String ... values) { buffer.addAll(Arrays.asList(values)); } /** Write the row with csvwriter. */ public void flush() { writer.writeNext(buffer.toArray(new String[buffer.size()])); buffer.clear(); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :