1 package net.jaekl.cfb.db;
3 import java.util.ArrayList;
4 import java.util.Arrays;
8 ArrayList<Column> m_columns;
10 public Table(String name, Column[] columns) {
12 m_columns = new ArrayList<Column>(Arrays.asList(columns));
15 public String getName() { return m_name; }
16 public int getNumColumns() { return m_columns.size(); }
17 public Column getColumn(int idx) { return m_columns.get(idx); }
19 // Construct a table from an array of objects like this:
22 // { column_name, type, width (-1 for default), null/not_null }
24 public static Table construct(Object[][] spec)
27 assert(spec.length > 1);
28 assert(1 == spec[0].length);
29 assert(spec[0][0] instanceof String);
31 String name = (String)(spec[0][0]);
32 Column[] columns = new Column[spec.length - 1];
34 for (int idx = 1; idx < spec.length; ++idx) {
35 columns[idx - 1] = Column.construct(spec[idx]);
38 return new Table(name, columns);