package org.insightech.er.db;
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.SQLException;
import java.util.List;
import org.insightech.er.db.sqltype.SqlTypeManager;
import org.insightech.er.editor.model.ERDiagram;
import org.insightech.er.editor.model.dbexport.db.PreTableExportManager;
import org.insightech.er.editor.model.dbexport.ddl.DDLCreator;
import org.insightech.er.editor.model.dbimport.ImportFromDBManager;
import org.insightech.er.editor.model.dbimport.PreImportFromDBManager;
import org.insightech.er.editor.model.diagram_contents.element.node.table.ERTable;
import org.insightech.er.editor.model.diagram_contents.element.node.table.properties.TableProperties;
import org.insightech.er.editor.model.diagram_contents.not_element.tablespace.TablespaceProperties;
public interface DBManager {
public static final int SUPPORT_AUTO_INCREMENT = 0;
public static final int SUPPORT_AUTO_INCREMENT_SETTING = 1;
public static final int SUPPORT_DESC_INDEX = 2;
public static final int SUPPORT_FULLTEXT_INDEX = 3;
public static final int SUPPORT_SCHEMA = 4;
public static final int SUPPORT_SEQUENCE = 5;
public String getId();
public String getURL(String serverName, String dbName, int port);
public int getDefaultPort();
public String getDriverClassName();
public Class<Driver> getDriverClass(String driverClassName);
public SqlTypeManager getSqlTypeManager();
public TableProperties createTableProperties(TableProperties tableProperties);
public TablespaceProperties createTablespaceProperties();
public TablespaceProperties checkTablespaceProperties(
TablespaceProperties tablespaceProperties);
public DDLCreator getDDLCreator(ERDiagram diagram, boolean semicolon);
public boolean isSupported(int support);
public boolean doesNeedURLDatabaseName();
public boolean doesNeedURLServerName();
public boolean isReservedWord(String str);
public List<String> getIndexTypeList(ERTable table);
public PreImportFromDBManager getPreTableImportManager();
public ImportFromDBManager getTableImportManager();
public PreTableExportManager getPreTableExportManager();
public String[] getCurrentTimeValue();
public List<String> getImportSchemaList(Connection con) throws SQLException;
public List<String> getSystemSchemaList();
public BigDecimal getSequenceMaxValue();
}