1 package net.jaekl.cfb.db;
3 // Copyright (C) 2015 Christian Jaekl
5 import java.util.ArrayList;
6 import java.util.Arrays;
10 ArrayList<Column> m_columns;
12 public Table(String name, Column[] columns) {
14 m_columns = new ArrayList<Column>(Arrays.asList(columns));
17 public String getName() { return m_name; }
18 public int getNumColumns() { return m_columns.size(); }
19 public Column getColumn(int idx) { return m_columns.get(idx); }
21 // Construct a table from an array of objects like this:
24 // { column_name, type, width (-1 for default), null/not_null }
26 public static Table construct(Object[][] spec)
29 assert(spec.length > 1);
30 assert(1 == spec[0].length);
31 assert(spec[0][0] instanceof String);
33 String name = (String)(spec[0][0]);
34 Column[] columns = new Column[spec.length - 1];
36 for (int idx = 1; idx < spec.length; ++idx) {
37 columns[idx - 1] = Column.construct(spec[idx]);
40 return new Table(name, columns);