aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/healthmarketscience/jackcess/ColumnBuilder.java1
-rw-r--r--src/main/java/com/healthmarketscience/jackcess/IndexBuilder.java1
-rw-r--r--src/main/java/com/healthmarketscience/jackcess/RelationshipBuilder.java17
-rw-r--r--src/main/java/com/healthmarketscience/jackcess/TableBuilder.java3
-rw-r--r--src/main/java/com/healthmarketscience/jackcess/impl/DatabaseImpl.java6
-rw-r--r--src/test/java/com/healthmarketscience/jackcess/DatabaseTest.java9
6 files changed, 29 insertions, 8 deletions
diff --git a/src/main/java/com/healthmarketscience/jackcess/ColumnBuilder.java b/src/main/java/com/healthmarketscience/jackcess/ColumnBuilder.java
index abebec0..76a1783 100644
--- a/src/main/java/com/healthmarketscience/jackcess/ColumnBuilder.java
+++ b/src/main/java/com/healthmarketscience/jackcess/ColumnBuilder.java
@@ -34,6 +34,7 @@ import com.healthmarketscience.jackcess.impl.TableUpdater;
* existing Table using the {@link #addToTable(Table)} method.
*
* @author James Ahlborn
+ * @see TableBuilder
* @usage _general_class_
*/
public class ColumnBuilder {
diff --git a/src/main/java/com/healthmarketscience/jackcess/IndexBuilder.java b/src/main/java/com/healthmarketscience/jackcess/IndexBuilder.java
index 472740e..d10a6fb 100644
--- a/src/main/java/com/healthmarketscience/jackcess/IndexBuilder.java
+++ b/src/main/java/com/healthmarketscience/jackcess/IndexBuilder.java
@@ -35,6 +35,7 @@ import com.healthmarketscience.jackcess.impl.TableUpdater;
* existing Table using the {@link #addToTable(Table)} method.
*
* @author James Ahlborn
+ * @see TableBuilder
* @usage _general_class_
*/
public class IndexBuilder
diff --git a/src/main/java/com/healthmarketscience/jackcess/RelationshipBuilder.java b/src/main/java/com/healthmarketscience/jackcess/RelationshipBuilder.java
index f826a7c..8ba9bb1 100644
--- a/src/main/java/com/healthmarketscience/jackcess/RelationshipBuilder.java
+++ b/src/main/java/com/healthmarketscience/jackcess/RelationshipBuilder.java
@@ -27,9 +27,24 @@ import com.healthmarketscience.jackcess.impl.RelationshipImpl;
/**
* Builder style class for constructing a {@link Relationship}, and,
* optionally, the associated backing foreign key (if referential integrity
- * enforcement is enabled).
+ * enforcement is enabled). A Relationship can only be constructed for
+ * {@link Table}s which already exist in the {@link Database}. Additionally,
+ * if integrity enforcement is enabled, there must already be a unique index
+ * on the "from" Table for the relevant columns (same requirement as MS
+ * Access).
+ * <p/>
+ * Example:
+ * <pre>
+ * Relationship rel = new RelationshipBuilder("FromTable", "ToTable")
+ * .addColumns("ID", "FK_ID")
+ * .setReferentialIntegrity()
+ * .setCascadeDeletes()
+ * .toRelationship(db);
+ * </pre>
*
* @author James Ahlborn
+ * @see TableBuilder
+ * @usage _general_class_
*/
public class RelationshipBuilder
{
diff --git a/src/main/java/com/healthmarketscience/jackcess/TableBuilder.java b/src/main/java/com/healthmarketscience/jackcess/TableBuilder.java
index 8f0b233..31aa3a0 100644
--- a/src/main/java/com/healthmarketscience/jackcess/TableBuilder.java
+++ b/src/main/java/com/healthmarketscience/jackcess/TableBuilder.java
@@ -45,6 +45,9 @@ import com.healthmarketscience.jackcess.impl.TableCreator;
* </pre>
*
* @author James Ahlborn
+ * @see ColumnBuilder
+ * @see IndexBuilder
+ * @see RelationshipBuilder
* @usage _general_class_
*/
public class TableBuilder {
diff --git a/src/main/java/com/healthmarketscience/jackcess/impl/DatabaseImpl.java b/src/main/java/com/healthmarketscience/jackcess/impl/DatabaseImpl.java
index fc70fe4..8ed8f57 100644
--- a/src/main/java/com/healthmarketscience/jackcess/impl/DatabaseImpl.java
+++ b/src/main/java/com/healthmarketscience/jackcess/impl/DatabaseImpl.java
@@ -1021,8 +1021,9 @@ public class DatabaseImpl implements Database
* Create a new table in this database
* @param name Name of the table to create
* @param columns List of Columns in the table
- * @usage _general_method_
+ * @deprecated use {@link TableBuilder} instead
*/
+ @Deprecated
public void createTable(String name, List<ColumnBuilder> columns)
throws IOException
{
@@ -1034,8 +1035,9 @@ public class DatabaseImpl implements Database
* @param name Name of the table to create
* @param columns List of Columns in the table
* @param indexes List of IndexBuilders describing indexes for the table
- * @usage _general_method_
+ * @deprecated use {@link TableBuilder} instead
*/
+ @Deprecated
public void createTable(String name, List<ColumnBuilder> columns,
List<IndexBuilder> indexes)
throws IOException
diff --git a/src/test/java/com/healthmarketscience/jackcess/DatabaseTest.java b/src/test/java/com/healthmarketscience/jackcess/DatabaseTest.java
index 60e8bea..6a6fd34 100644
--- a/src/test/java/com/healthmarketscience/jackcess/DatabaseTest.java
+++ b/src/test/java/com/healthmarketscience/jackcess/DatabaseTest.java
@@ -25,7 +25,6 @@ import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
-import java.util.Collections;
import java.util.Date;
import java.util.HashSet;
import java.util.LinkedHashMap;
@@ -63,7 +62,7 @@ public class DatabaseTest extends TestCase
Database db = create(fileFormat);
try {
- ((DatabaseImpl)db).createTable("test", Collections.<ColumnBuilder>emptyList());
+ new TableBuilder("test").toTable(db);
fail("created table with no columns?");
} catch(IllegalArgumentException e) {
// success
@@ -598,9 +597,9 @@ public class DatabaseTest extends TestCase
columns.add(new ColumnBuilder(colName, DataType.TEXT).toColumn());
}
- ((DatabaseImpl)db).createTable("test", columns);
-
- Table t = db.getTable("test");
+ Table t = new TableBuilder("test")
+ .addColumns(columns)
+ .toTable(db);
List<String> row = new ArrayList<String>();
Map<String,Object> expectedRowData = new LinkedHashMap<String, Object>();