- java.lang.Object
-
- org.eclipse.persistence.tools.schemaframework.TableCreator
-
public class TableCreator extends Object
Purpose: This class is responsible for creating the tables defined in the project. A specific subclass of this class is created for each project. The specific table information is defined in the subclass.- Author:
- Peter Krogh
- Since:
- TopLink 2.0
-
-
Field Summary
Fields Modifier and Type Field Description static booleanCHECK_EXISTENCEFlag to disable table existence check before create.static StringDEFAULT_IDENTITY_GENERATORDefault identity generator sequence name.protected booleanignoreDatabaseExceptionprotected Stringnameprotected List<TableDefinition>tableDefinitions
-
Constructor Summary
Constructors Constructor Description TableCreator()TableCreator(List<TableDefinition> tableDefinitions)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddTableDefinition(TableDefinition tableDefinition)Add the table.voidaddTableDefinitions(Collection<TableDefinition> tableDefs)Add a set of tables.protected voidbuildConstraints(SchemaManager schemaManager, boolean build)Convert any field constraint to constraint objects.voidcreateConstraints(List<TableDefinition> tables, DatabaseSession session, SchemaManager schemaManager, boolean build)Create constraints.voidcreateConstraints(DatabaseSession session)Create constraints.voidcreateConstraints(DatabaseSession session, SchemaManager schemaManager)Create constraints.voidcreateConstraints(DatabaseSession session, SchemaManager schemaManager, boolean build)Create constraints.voidcreateTables(DatabaseSession session)This creates the tables on the database.voidcreateTables(DatabaseSession session, SchemaManager schemaManager)This creates the tables on the database.voidcreateTables(DatabaseSession session, SchemaManager schemaManager, boolean build)This creates the tables on the database.voidcreateTables(DatabaseSession session, SchemaManager schemaManager, boolean build, boolean check, boolean createSequenceTables, boolean createSequences)This creates the tables on the database.voiddropConstraints(DatabaseSession session)Drop the table constraints from the database.voiddropConstraints(DatabaseSession session, SchemaManager schemaManager)Drop the table constraints from the database.voiddropConstraints(DatabaseSession session, SchemaManager schemaManager, boolean build)Drop the table constraints from the database.voiddropTables(DatabaseSession session)Drop the tables from the database.voiddropTables(DatabaseSession session, SchemaManager schemaManager)Drop the tables from the database.voiddropTables(DatabaseSession session, SchemaManager schemaManager, boolean build)Drop the tables from the database.voidextendTables(DatabaseSession session, SchemaManager schemaManager)Create or extend the tables on the database.voidextendTables(DatabaseSession session, SchemaManager schemaManager, boolean build)This creates/extends the tables on the database.protected voidextendTablesAndConstraints(SchemaManager schemaManager, DatabaseSession session)StringgetName()Return the name.protected StringgetSequenceTableName(Session session)This returns the Sequence Table's qualified name, without delimiting.List<TableDefinition>getTableDefinitions()Return the tables.voidreplaceTables(DatabaseSession session)Recreate the tables on the database.voidreplaceTables(DatabaseSession session, SchemaManager schemaManager)Recreate the tables on the database.voidreplaceTables(DatabaseSession session, SchemaManager schemaManager, boolean createSequenceTables)Recreate the tables on the database.voidreplaceTables(DatabaseSession session, SchemaManager schemaManager, boolean createSequenceTables, boolean createSequences)Recreate the tables on the database.protected voidreplaceTablesAndConstraints(SchemaManager schemaManager, DatabaseSession session)protected voidreplaceTablesAndConstraints(SchemaManager schemaManager, DatabaseSession session, boolean createSequenceTables, boolean createSequences)voidsetIgnoreDatabaseException(boolean ignoreDatabaseException)Set flag whether DatabaseException should be ignored.voidsetName(String name)Set the name.voidsetTableDefinitions(List<TableDefinition> tableDefinitions)Set the tables.booleanshouldIgnoreDatabaseException()Return true if DatabaseException is to be ignored.
-
-
-
Field Detail
-
DEFAULT_IDENTITY_GENERATOR
public static final String DEFAULT_IDENTITY_GENERATOR
Default identity generator sequence name. Copy of value from JPA:MetadataProject.DEFAULT_IDENTITY_GENERATOR.- See Also:
- Constant Field Values
-
CHECK_EXISTENCE
public static boolean CHECK_EXISTENCE
Flag to disable table existence check before create.
-
tableDefinitions
protected List<TableDefinition> tableDefinitions
-
name
protected String name
-
ignoreDatabaseException
protected boolean ignoreDatabaseException
-
-
Constructor Detail
-
TableCreator
public TableCreator()
-
TableCreator
public TableCreator(List<TableDefinition> tableDefinitions)
-
-
Method Detail
-
addTableDefinition
public void addTableDefinition(TableDefinition tableDefinition)
Add the table.
-
addTableDefinitions
public void addTableDefinitions(Collection<TableDefinition> tableDefs)
Add a set of tables.
-
createConstraints
public void createConstraints(DatabaseSession session)
Create constraints.
-
createConstraints
public void createConstraints(DatabaseSession session, SchemaManager schemaManager)
Create constraints.
-
createConstraints
public void createConstraints(DatabaseSession session, SchemaManager schemaManager, boolean build)
Create constraints.
-
createConstraints
public void createConstraints(List<TableDefinition> tables, DatabaseSession session, SchemaManager schemaManager, boolean build)
Create constraints.
-
createTables
public void createTables(DatabaseSession session)
This creates the tables on the database. If the table already exists this will fail.
-
createTables
public void createTables(DatabaseSession session, SchemaManager schemaManager)
This creates the tables on the database. If the table already exists this will fail.
-
createTables
public void createTables(DatabaseSession session, SchemaManager schemaManager, boolean build)
This creates the tables on the database. If the table already exists this will fail.
-
createTables
public void createTables(DatabaseSession session, SchemaManager schemaManager, boolean build, boolean check, boolean createSequenceTables, boolean createSequences)
This creates the tables on the database. If the table already exists this will fail.- Parameters:
session- Active database session.schemaManager- Database schema manipulation manager.build- Whether to build constraints.check- Whether to check for tables existence.createSequenceTables- Whether to create sequence tables.createSequences- Whether to create sequences.
-
dropConstraints
public void dropConstraints(DatabaseSession session)
Drop the table constraints from the database.
-
dropConstraints
public void dropConstraints(DatabaseSession session, SchemaManager schemaManager)
Drop the table constraints from the database.
-
dropConstraints
public void dropConstraints(DatabaseSession session, SchemaManager schemaManager, boolean build)
Drop the table constraints from the database.
-
dropTables
public void dropTables(DatabaseSession session)
Drop the tables from the database.
-
dropTables
public void dropTables(DatabaseSession session, SchemaManager schemaManager)
Drop the tables from the database.
-
dropTables
public void dropTables(DatabaseSession session, SchemaManager schemaManager, boolean build)
Drop the tables from the database.- Parameters:
session- Active database session.schemaManager- Database schema manipulation manager.build- Whether to build constraints.
-
getName
public String getName()
Return the name.
-
getTableDefinitions
public List<TableDefinition> getTableDefinitions()
Return the tables.
-
replaceTables
public void replaceTables(DatabaseSession session)
Recreate the tables on the database. This will drop the tables if they exist and recreate them.
-
replaceTables
public void replaceTables(DatabaseSession session, SchemaManager schemaManager)
Recreate the tables on the database. This will drop the tables if they exist and recreate them.
-
replaceTables
public void replaceTables(DatabaseSession session, SchemaManager schemaManager, boolean createSequenceTables)
Recreate the tables on the database. This will drop the tables if they exist and recreate them.
-
replaceTables
public void replaceTables(DatabaseSession session, SchemaManager schemaManager, boolean createSequenceTables, boolean createSequences)
Recreate the tables on the database. This will drop the tables if they exist and recreate them.
-
replaceTablesAndConstraints
protected void replaceTablesAndConstraints(SchemaManager schemaManager, DatabaseSession session, boolean createSequenceTables, boolean createSequences)
-
replaceTablesAndConstraints
protected void replaceTablesAndConstraints(SchemaManager schemaManager, DatabaseSession session)
-
buildConstraints
protected void buildConstraints(SchemaManager schemaManager, boolean build)
Convert any field constraint to constraint objects.
-
setName
public void setName(String name)
Set the name.
-
setTableDefinitions
public void setTableDefinitions(List<TableDefinition> tableDefinitions)
Set the tables.
-
shouldIgnoreDatabaseException
public boolean shouldIgnoreDatabaseException()
Return true if DatabaseException is to be ignored.
-
setIgnoreDatabaseException
public void setIgnoreDatabaseException(boolean ignoreDatabaseException)
Set flag whether DatabaseException should be ignored.
-
getSequenceTableName
protected String getSequenceTableName(Session session)
This returns the Sequence Table's qualified name, without delimiting.- Returns:
- the qualified table name
-
extendTables
public void extendTables(DatabaseSession session, SchemaManager schemaManager)
Create or extend the tables on the database. This will alter existing tables to add missing fields or create the table otherwise. It will also create Sequences tables and objects.
-
extendTablesAndConstraints
protected void extendTablesAndConstraints(SchemaManager schemaManager, DatabaseSession session)
-
extendTables
public void extendTables(DatabaseSession session, SchemaManager schemaManager, boolean build)
This creates/extends the tables on the database.- Parameters:
session- Active database session.schemaManager- Database schema manipulation manager.build- Whether to build constraints.
-
-