1 package uba.db.table.io;
2
3 import java.io.DataOutput;
4 import java.io.IOException;
5 import java.util.Iterator;
6
7 import uba.db.column.Column;
8 import uba.db.column.io.ColumnWriter;
9 import uba.db.table.Row;
10 import uba.db.table.Table;
11
12 /***
13 * @version $Revision: 1.3 $
14 */
15 public class RowWriter {
16 private ColumnWriter[] writers;
17
18 public RowWriter(Table table, DataOutput out) {
19 writers = new ColumnWriter[table.columns().size()];
20 Iterator iter = table.columns().iterator();
21
22 for (int i = 0; iter.hasNext(); i++) {
23 Column column = (Column) iter.next();
24 writers[i] = column.writerFor(out);
25 }
26 }
27
28 public void write(Row row) throws IOException {
29 for (int i = 0; i < writers.length; i++) {
30 writers[i].write(row.valueAt(i));
31 }
32 }
33 }