initial quantum version
[phpeclipse.git] / archive / net.sourceforge.phpeclipse.quantum.sql / src / com / quantum / model / Entity.java
1 package com.quantum.model;
2
3 import com.quantum.IQuantumConstants;
4
5 /**
6  * @author BC
7  */
8 public interface Entity extends BookmarkHolder {
9     
10     public static final String TABLE_TYPE = IQuantumConstants.Table;
11     public static final String VIEW_TYPE = IQuantumConstants.View;
12     public static final String SEQUENCE_TYPE = IQuantumConstants.Sequence;
13     
14     public String getName();
15     public String getSchema();
16     public String getType();
17     public Column[] getColumns();
18     public Index[] getIndexes();
19     public Column getColumn(String columnName);
20     /**
21      * Returns a String with the qualified name of the Entity.
22      * That is, "schema.name". The difference with getQualifiedName() 
23      * is that the schema may be absent if it's not defined in the bookmark
24          */
25         public String getCondQualifiedName();
26     
27     /**
28      * @return - TRUE if the entity exists in the database<br />
29      *         - FALSE if the entity does not exist in the database<br />
30      *         - null if it's not known whether or not the 
31      *           entity exists in the database.
32      */
33     public Boolean exists();
34     /**
35      * Some databases support mixed-case table names.  Queries issued
36      * against these tables must be quoted.
37      * @return
38      */
39     public String getQuotedTableName();
40 }