summaryrefslogtreecommitdiffstats
path: root/src/java
diff options
context:
space:
mode:
authorJames Ahlborn <jtahlborn@yahoo.com>2008-03-20 16:26:02 +0000
committerJames Ahlborn <jtahlborn@yahoo.com>2008-03-20 16:26:02 +0000
commitfbe33559bdb12cb6147e073d0aa11291d73e9ae9 (patch)
treeb15818e8e49dce0f492d4344014262aab83b04d2 /src/java
parentd9bd45a7a63925b4bbd3f2dd8962ecdf1a713ad5 (diff)
downloadjackcess-fbe33559bdb12cb6147e073d0aa11291d73e9ae9.tar.gz
jackcess-fbe33559bdb12cb6147e073d0aa11291d73e9ae9.zip
add TableBuilder utility
git-svn-id: https://svn.code.sf.net/p/jackcess/code/jackcess/trunk@287 f203690c-595d-4dc9-a70b-905162fa7fd2
Diffstat (limited to 'src/java')
-rw-r--r--src/java/com/healthmarketscience/jackcess/TableBuilder.java44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/java/com/healthmarketscience/jackcess/TableBuilder.java b/src/java/com/healthmarketscience/jackcess/TableBuilder.java
new file mode 100644
index 0000000..b530252
--- /dev/null
+++ b/src/java/com/healthmarketscience/jackcess/TableBuilder.java
@@ -0,0 +1,44 @@
+// Copyright (c) 2008 Health Market Science, Inc.
+
+package com.healthmarketscience.jackcess;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Builder style class for constructing a Column.
+ *
+ * @author James Ahlborn
+ */
+public class TableBuilder {
+
+ /** name of the new table */
+ private String _name;
+ /** columns for the new table */
+ private List<Column> _columns = new ArrayList<Column>();
+
+ public TableBuilder(String name) {
+ _name = name;
+ }
+
+ /**
+ * Adds a Column to the new table.
+ */
+ public TableBuilder addColumn(Column column) {
+ _columns.add(column);
+ return this;
+ }
+
+ /**
+ * Creates a new Table in the given Database with the currently configured
+ * attributes.
+ */
+ public Table toTable(Database db)
+ throws IOException
+ {
+ db.createTable(_name, _columns);
+ return db.getTable(_name);
+ }
+
+}