|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.clazzes.jdbc2xml.schema.SchemaEngine
public abstract class SchemaEngine
| Constructor Summary | |
|---|---|
protected |
SchemaEngine()
Default constructor, which sets the default time zone. |
| Method Summary | |
|---|---|
abstract TableInfo |
addColumn(TableInfo ti,
ColumnInfo columnInfo)
Add a column to an existing table. |
abstract TableInfo |
addForeignKey(TableInfo ti,
ForeignKeyInfo fkInfo)
Add a foreign key to an existing table. |
abstract TableInfo |
addIndex(TableInfo tableinfo,
IndexInfo indexInfo)
Add an index to an existing table. |
abstract TableInfo |
changeColumn(TableInfo ti,
java.lang.String oldColumnName,
ColumnInfo columnInfo)
Rename an existing column of an existing table and possibly change it's type. |
abstract void |
commit()
Perform all pending schema modifications and discard the rollback history. |
abstract void |
createForeignKeys(TableInfo ti)
Create foreign keys of an existing table in the database. |
abstract java.sql.PreparedStatement |
createInsertStatement(TableInfo ti)
Create an insert statement for all column in the given table. |
abstract void |
createTable(TableInfo ti,
boolean addForeignKeys)
Create a table in the database, including primary key and indices (which must have been added already). |
abstract TableInfo |
dropColumn(TableInfo ti,
java.lang.String columnName,
boolean force)
Drop an existing column of an existing table. |
abstract TableInfo |
dropForeignKey(TableInfo ti,
java.lang.String fkName)
Drop an existing foreign key of an existing table. |
abstract TableInfo |
dropForeignKeys(TableInfo ti)
Drop all existing foreign keys of an existing table. |
abstract TableInfo |
dropIndex(TableInfo tableInfo,
java.lang.String indexName)
Drop an index from an existing table. |
abstract void |
dropStaleBackupTables()
Some operations like drop table or drop column create backup tables for performing rollback operations. |
abstract void |
dropTable(TableInfo ti,
boolean force)
Drop an existing table. |
abstract void |
dropTables(java.util.List<TableInfo> tables,
boolean force)
Drop a list of existing table. |
abstract TableInfo |
fetchTableInfo(java.lang.String tableName,
IndexFilter filter)
Retrieve the current layout of the given table in the database. |
abstract java.util.List<TableInfo> |
fetchTableInfos(TableFilter filter)
Return the layout of multiple table in the database. |
java.sql.Connection |
getConnection()
|
Dialect |
getDialect()
|
java.lang.String |
getSchema()
|
java.util.TimeZone |
getTimeZone()
|
abstract TableInfo |
modifyColumn(TableInfo ti,
ColumnInfo columnInfo)
Change an existing column of an existing table. |
static SchemaEngine |
newInstance()
After generating a new SchemaEngine instance you usually have to call setConnection(Connection) in order to set up the database
on which to operate. |
abstract void |
rollback()
Roll back all schema operations undertaken since the last call to commit() or rollback(). |
void |
setConnection(java.sql.Connection connection)
This method initializes the database dialect too, if the the dialect has not been set through setDialect(Dialect)
before. |
void |
setDialect(Dialect dialect)
Normally you need not call this method, because the dialect is usually initialized by setConnection(Connection). |
void |
setSchema(java.lang.String schema)
|
void |
setTimeZone(java.util.TimeZone timeZone)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
protected SchemaEngine()
| Method Detail |
|---|
public static SchemaEngine newInstance()
setConnection(Connection) in order to set up the database
on which to operate.
Additionally, it is recommended, that you configure the default time zone
using {setTimeZone(TimeZone).
META-INF/services/org.clazzes.jdbc2xml.schema.SchemaEngine.ServiceRegistry.lookupProviders(Class)public java.sql.Connection getConnection()
public void setConnection(java.sql.Connection connection)
throws java.sql.SQLException
setDialect(Dialect)
before.
The dialect is retrieved through a call to
DialectFactory.newDialect(java.sql.DatabaseMetaData) on
the instance returned by DialectFactory.newInstance().
connection - The database connection to set.
java.sql.SQLException - If the metadata retrieval on the database failed during
the dialect initialization.public java.util.TimeZone getTimeZone()
public void setTimeZone(java.util.TimeZone timeZone)
timeZone - The time zone to set.public Dialect getDialect()
public void setDialect(Dialect dialect)
setConnection(Connection).
dialect - The database dialect to setpublic java.lang.String getSchema()
DatabaseMetaData.getTables(String, String, String, String[]),
DatabaseMetaData.getColumns(String, String, String, String),
DatabaseMetaData.getImportedKeys(String, String, String),
DatabaseMetaData.getExportedKeys(String, String, String),
DatabaseMetaData.getPrimaryKeys(String, String, String)public void setSchema(java.lang.String schema)
schema - The schema to set
public abstract TableInfo fetchTableInfo(java.lang.String tableName,
IndexFilter filter)
throws java.sql.SQLException
tableName - The name of the table to search.filter - The filter retrieval configuration. If a null value is passed,
a default filter will be used, which skips internal indices.
java.sql.SQLException - Upon database errors.IndexFilter.isKeepInternalIndices()
public abstract java.util.List<TableInfo> fetchTableInfos(TableFilter filter)
throws java.sql.SQLException
filter - If null, return all tables of the configured schema. Otherwise
return only those tables, for which TableFilter.processTable(String)
returns true. Additionally, a null value incurs default index filtering,
which means to skip internal indices.
java.sql.SQLException - Upon database errors.
public abstract java.sql.PreparedStatement createInsertStatement(TableInfo ti)
throws java.sql.SQLException
ti - The table metadata.
java.sql.SQLException - Upon database errors.
public abstract void createTable(TableInfo ti,
boolean addForeignKeys)
throws java.sql.SQLException
ti - The table metadata.addForeignKeys - If this parameter is true, all foreign keys are generated
together with the table structure. If set to false, you may
create the foreign keys later on using createForeignKeys(TableInfo).
java.sql.SQLException - upon database errors.
public abstract void createForeignKeys(TableInfo ti)
throws java.sql.SQLException
ti - The table metadata.
java.sql.SQLException - Upon database errors.
public abstract TableInfo dropForeignKeys(TableInfo ti)
throws java.sql.SQLException
ti - TableInfo describing the table containing the foreign keys to drop.
TableInfo without foreign keys.
java.sql.SQLException - Upon database errors.
public abstract void dropTable(TableInfo ti,
boolean force)
throws java.sql.SQLException
ti - TableInfo describing the table to be dropped.force - If set to true, the data is not backed up before dropping the
table. Consequently, rollback is not supported, if
force is set to true.
java.sql.SQLException - Upon database errors.
public abstract void dropTables(java.util.List<TableInfo> tables,
boolean force)
throws java.sql.SQLException
tables - A list of TableInfo objects describing
the tables to be dropped.force - If set to true, the data is not backed up before dropping the
table. Consequently, rollback is not supported, if
force is set to true.
java.sql.SQLException - Upon database errors.
public abstract TableInfo addColumn(TableInfo ti,
ColumnInfo columnInfo)
throws java.sql.SQLException
ti - TableInfo describing the table to add column to.columnInfo - ColumnInfo holding data for the column to be added.
TableInfo.
java.sql.SQLException - Upon database errors.
public abstract TableInfo modifyColumn(TableInfo ti,
ColumnInfo columnInfo)
throws java.sql.SQLException
ti - TableInfo describing the table containing the column to change.columnInfo - ColumnInfo holding new definition data for the column.
TableInfo.
java.sql.SQLException - Upon database errors.
public abstract TableInfo changeColumn(TableInfo ti,
java.lang.String oldColumnName,
ColumnInfo columnInfo)
throws java.sql.SQLException
ti - TableInfo describing the table containing the column to change.oldColumnName - The original name of the column.columnInfo - ColumnInfo holding the new name and the
new definition data for the column.
TableInfo.
java.sql.SQLException - Upon database errors.
public abstract TableInfo dropColumn(TableInfo ti,
java.lang.String columnName,
boolean force)
throws java.sql.SQLException
ti - TableInfo describing the table containing the column to drop.columnName - Name of the column to drop.force - If set to true, the data is not backed up before dropping the
column. Consequently, rollback is not supported, if
force is set to true.
TableInfo.
java.sql.SQLException - Upon database errors.
public abstract TableInfo addForeignKey(TableInfo ti,
ForeignKeyInfo fkInfo)
throws java.sql.SQLException
ti - TableInfo describing the table to add the foreign key to.fkInfo - The ForeignKeyInfo to add.
TableInfo.
java.sql.SQLException - Upon database errors.
public abstract TableInfo dropForeignKey(TableInfo ti,
java.lang.String fkName)
throws java.sql.SQLException
ti - TableInfo describing the table to drop the foreign key from.fkName - The ForeignKeyInfo to drop.
TableInfo.
java.sql.SQLException - Upon database errors.
public abstract TableInfo addIndex(TableInfo tableinfo,
IndexInfo indexInfo)
throws java.sql.SQLException
tableinfo - TableInfo describing the table to add the index.indexInfo - The IndexInfo to add.
TableInfo.
java.sql.SQLException - Upon database errors.
public abstract TableInfo dropIndex(TableInfo tableInfo,
java.lang.String indexName)
throws java.sql.SQLException
tableInfo - TableInfo describing the table to drop the index from.indexName - The name of the IndexInfo to drop.
TableInfo.
java.sql.SQLException - Upon database errors.
public abstract void dropStaleBackupTables()
throws java.sql.SQLException
commit() after such operations, these backup tables
remain in the target database.
This call searches these tables, which are named like JDBC2XML__*
and drops them, if necessary.
java.sql.SQLException
public abstract void commit()
throws java.sql.SQLException
java.sql.SQLException - Upon database errors.
public abstract void rollback()
throws java.sql.SQLException
commit() or rollback().
java.sql.SQLException - Upon database errors or when a rollback
of a schema operation is not supported.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||