Module eclipselink

Class 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 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.
      • ignoreDatabaseException

        protected boolean ignoreDatabaseException
    • Constructor Detail

      • TableCreator

        public TableCreator()
    • Method Detail

      • addTableDefinition

        public void addTableDefinition​(TableDefinition tableDefinition)
        Add the table.
      • createConstraints

        public void createConstraints​(DatabaseSession session)
        Create constraints.
      • createConstraints

        public void createConstraints​(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,
                               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.
      • 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)
      • 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.
      • 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.