package jeql.command.io.text; import jeql.api.table.Table; import jeql.command.io.TableTextFileWriterCmd; import jeql.command.io.TableTextWriter; import jeql.engine.Scope; import jeql.util.SystemUtil; public class TextWriterCommand extends TableTextFileWriterCmd { private Object before; private Object after; public TextWriterCommand() { } public void setBefore(Object obj) { before = obj; } public void setAfter(Object obj) { after = obj; } public void execute(Scope scope) throws Exception { writer = getWriter(); if (before != null) write(before); write(tbl); if (after != null) write(after); writer.close(); } private void write(Object obj) throws Exception { if (obj instanceof Table) write((Table) obj); else { writer.write(obj.toString()); writer.write(SystemUtil.LINE_TERM); } } protected void write(Table tbl) throws Exception { TableTextWriter printer = new TableTextWriter(); if (colSep != null) printer.setColSep(colSep); if (rowSep != null) printer.setRowSep(rowSep); printer.write(writer, (Table) tbl); } /* protected void OLDwrite(Table tbl) throws Exception { RowIterator rs = tbl.getRowList().iterator(); while (true) { Row row = rs.next(); if (row == null) break; writeRow(writer, row); } } private void writeRow(Writer writer, Row row) throws IOException { for (int i = 0; i < row.size(); i++) { if (i > 0 && colSep != null && colSep.length() > 0) writer.write(colSep); writer.write(row.getValue(i).toString()); } writer.write(SystemUtil.LINE_SEP); } */ }