initial quantum version
[phpeclipse.git] / archive / net.sourceforge.phpeclipse.quantum.sql / src / com / quantum / model / Entity.java
diff --git a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/model/Entity.java b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/model/Entity.java
new file mode 100644 (file)
index 0000000..845c751
--- /dev/null
@@ -0,0 +1,40 @@
+package com.quantum.model;
+
+import com.quantum.IQuantumConstants;
+
+/**
+ * @author BC
+ */
+public interface Entity extends BookmarkHolder {
+    
+    public static final String TABLE_TYPE = IQuantumConstants.Table;
+    public static final String VIEW_TYPE = IQuantumConstants.View;
+    public static final String SEQUENCE_TYPE = IQuantumConstants.Sequence;
+    
+    public String getName();
+    public String getSchema();
+    public String getType();
+    public Column[] getColumns();
+    public Index[] getIndexes();
+    public Column getColumn(String columnName);
+    /**
+     * Returns a String with the qualified name of the Entity.
+     * That is, "schema.name". The difference with getQualifiedName() 
+     * is that the schema may be absent if it's not defined in the bookmark
+        */
+       public String getCondQualifiedName();
+    
+    /**
+     * @return - TRUE if the entity exists in the database<br />
+     *         - FALSE if the entity does not exist in the database<br />
+     *         - null if it's not known whether or not the 
+     *           entity exists in the database.
+     */
+    public Boolean exists();
+    /**
+     * Some databases support mixed-case table names.  Queries issued
+     * against these tables must be quoted.
+     * @return
+     */
+    public String getQuotedTableName();
+}