aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/com/healthmarketscience/jackcess/TableMetaData.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/healthmarketscience/jackcess/TableMetaData.java')
-rw-r--r--src/main/java/com/healthmarketscience/jackcess/TableMetaData.java25
1 files changed, 23 insertions, 2 deletions
diff --git a/src/main/java/com/healthmarketscience/jackcess/TableMetaData.java b/src/main/java/com/healthmarketscience/jackcess/TableMetaData.java
index 250932b..991d026 100644
--- a/src/main/java/com/healthmarketscience/jackcess/TableMetaData.java
+++ b/src/main/java/com/healthmarketscience/jackcess/TableMetaData.java
@@ -26,8 +26,17 @@ import java.io.IOException;
* @author James Ahlborn
* @usage _intermediate_class_
*/
-public interface TableMetaData
+public interface TableMetaData
{
+ public enum Type {
+ LOCAL, LINKED, LINKED_ODBC;
+ }
+
+ /**
+ * The type of table
+ */
+ public Type getType();
+
/**
* The name of the table (as it is stored in the database)
*/
@@ -37,7 +46,7 @@ public interface TableMetaData
* {@code true} if this is a linked table, {@code false} otherwise.
*/
public boolean isLinked();
-
+
/**
* {@code true} if this is a system table, {@code false} otherwise.
*/
@@ -56,7 +65,19 @@ public interface TableMetaData
public String getLinkedDbName();
/**
+ * The connection of this the linked database if this is a linked ODBC
+ * table, {@code null} otherwise.
+ */
+ public String getConnectionName();
+
+ /**
* Opens this table from the given Database instance.
*/
public Table open(Database db) throws IOException;
+
+ /**
+ * Gets the local table definition from the given Database instance if
+ * available. Only useful for linked ODBC tables.
+ */
+ public TableDefinition getTableDefinition(Database db) throws IOException;
}