X-Git-Url: http://jaekl.net/gitweb/?a=blobdiff_plain;f=prod%2Fnet%2Fjaekl%2Fcfb%2Fdb%2FTable.java;h=7e16cd5a839c6b3ce16ff1a367177a7398ffbdf6;hb=a1378c84c773511e4ffe99fb419da67af188aff7;hp=a68784223e6c716d919b0d58add30dd8520e015d;hpb=5bc9bbe3fd54b9fc7aa3b92d2d37e95c41b9645a;p=cfb.git diff --git a/prod/net/jaekl/cfb/db/Table.java b/prod/net/jaekl/cfb/db/Table.java index a687842..7e16cd5 100644 --- a/prod/net/jaekl/cfb/db/Table.java +++ b/prod/net/jaekl/cfb/db/Table.java @@ -4,19 +4,29 @@ package net.jaekl.cfb.db; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; public class Table { String m_name; + HashMap m_columnsByName; ArrayList m_columns; public Table(String name, Column[] columns) { m_name = name; - m_columns = new ArrayList(Arrays.asList(columns)); + + m_columns = new ArrayList(); + m_columns.addAll(Arrays.asList(columns)); + + m_columnsByName = new HashMap(); + for (int i = 0; i < columns.length; ++i) { + m_columnsByName.put(columns[i].getName(), columns[i]); + } } public String getName() { return m_name; } public int getNumColumns() { return m_columns.size(); } public Column getColumn(int idx) { return m_columns.get(idx); } + public Column getColumn(String name) { return m_columnsByName.get(name); } // Construct a table from an array of objects like this: // {