Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/exports/StepCSVWriter.java @ 4031:e4e345d81a65
issue889/2
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Thu, 04 Oct 2012 14:54:44 +0200 |
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 :