package org.beanfuse.transfer.exporter.writer; import java.io.OutputStream; import java.io.OutputStreamWriter; import org.beanfuse.transfer.Transfer; public class TextItemWriter extends AbstractItemWriter { private String delimiter = ","; protected OutputStreamWriter osw; public String getDelimiter() { return delimiter; } public void setDelimiter(String delimiter) { this.delimiter = delimiter; } public TextItemWriter(OutputStream outputStream) { setOutputStream(outputStream); } public void write(Object obj) { if (null == obj) return; try { if (obj.getClass().isArray()) { Object[] values = (Object[]) obj; for (int i = 0; i < values.length; i++) { if (null == values[i]) { osw.write(""); } else { osw.write(values[i].toString()); } if (i < values.length - 1) { osw.write(delimiter); } else { osw.write("\r\n"); } } } else { osw.write(obj.toString()); } } catch (Exception e) { throw new RuntimeException(e.getMessage()); } } public void writeTitle(Object title) { write(title); } public void close() { try { osw.close(); } catch (Exception e) { throw new RuntimeException(e.getMessage()); } } public String getFormat() { return Transfer.TXT; } public void setOutputStream(OutputStream outputStream) { this.outputStream = outputStream; this.osw = new OutputStreamWriter(outputStream); } }