・カラムの型や名前をバラバラのMapで管理しているのはあまり良くない。素直にカラムの 定義を扱うTableの内部クラスを用意して、 public static class Column{public final int index; public final String name; public final String type;}
これのリストをスキーマとして定義する。必要であればルックアップテーブルも。 private final List<Column> schema = new ArrayList<Column>(); private final Map<String, Column> nameToColumn = new HashMap ...
スキーマ情報を提供する公開メソッドも用意すると親切だよね。 public List<Column> getSchema() {return Collections.unmodifiableList(schema);} public List<Column> getColumn(int index) {return schema.get(index);} public List<Column> getColumn(String name) {return nameToColumn,get(name);}