Module eclipselink

Class TableSequenceDefinition

All Implemented Interfaces:
Serializable, Cloneable
Direct Known Subclasses:
UnaryTableSequenceDefinition

public class TableSequenceDefinition extends SequenceDefinition

Purpose: Allow a generic way of creating sequences on the different platforms, and allow optional parameters to be specified.

See Also:
  • Field Details

    • tableDefinition

      protected TableDefinition tableDefinition
    • deleteSchema

      protected boolean deleteSchema
  • Constructor Details

    • TableSequenceDefinition

      @Deprecated(forRemoval=true, since="4.0.9") public TableSequenceDefinition(Sequence sequence, boolean deleteSchema)
      Deprecated, for removal: This API element is subject to removal in a future version.
      INTERNAL: Should be a sequence defining table sequence in the db: either TableSequence DefaultSequence (only if case platform.getDefaultSequence() is a TableSequence).
    • TableSequenceDefinition

      public TableSequenceDefinition(String name, boolean deleteSchema)
      INTERNAL: Should be a sequence defining table sequence in the db: either TableSequence DefaultSequence (only if case platform.getDefaultSequence() is a TableSequence).
  • Method Details

    • buildCreationWriter

      @Deprecated(forRemoval=true, since="4.0.9") public Writer buildCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer) throws ValidationException
      Deprecated, for removal: This API element is subject to removal in a future version.
      INTERNAL: Return the SQL required to insert the sequence row into the sequence table. Assume that the sequence table exists.
      Specified by:
      buildCreationWriter in class DatabaseObjectDefinition
      Throws:
      ValidationException
    • buildDeletionWriter

      @Deprecated(forRemoval=true, since="4.0.9") public Writer buildDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer) throws ValidationException
      Deprecated, for removal: This API element is subject to removal in a future version.
      INTERNAL: Return the SQL to delete the row from the sequence table. If we're dealing with create creation, then delegate to the table so that is dropped outright since we will delete the schema.
      Specified by:
      buildDeletionWriter in class DatabaseObjectDefinition
      Throws:
      ValidationException
    • checkIfExist

      @Deprecated(forRemoval=true, since="4.0.9") public boolean checkIfExist(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DatabaseException
      Deprecated, for removal: This API element is subject to removal in a future version.
      Implement DatabasePlatform.checkSequenceExists(...) instead.
      INTERNAL: Execute the SQL required to insert the sequence row into the sequence table. Assume that the sequence table exists.
      Specified by:
      checkIfExist in class SequenceDefinition
      Throws:
      DatabaseException
    • dropDatabaseSchema

      @Deprecated(forRemoval=true, since="4.0.9") public void dropDatabaseSchema(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer) throws EclipseLinkException
      Deprecated, for removal: This API element is subject to removal in a future version.
      INTERNAL: Execute the DDL to drop the database schema for this object. Does nothing at this level, subclasses that support this must override this method.
      Overrides:
      dropDatabaseSchema in class DatabaseObjectDefinition
      Throws:
      EclipseLinkException
      See Also:
    • dropDatabaseSchemaOnDatabase

      @Deprecated(forRemoval=true, since="4.0.9") public void dropDatabaseSchemaOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session) throws EclipseLinkException
      Deprecated, for removal: This API element is subject to removal in a future version.
      INTERNAL: Execute the DDL to drop the database schema for this object. Does nothing at this level, subclasses that support this must override this method.
      Overrides:
      dropDatabaseSchemaOnDatabase in class DatabaseObjectDefinition
      Throws:
      EclipseLinkException
      See Also:
    • getDatabaseSchema

      public String getDatabaseSchema()
      Return the schema associated with this table sequence.
      Overrides:
      getDatabaseSchema in class DatabaseObjectDefinition
      See Also:
    • getSequenceCounterFieldName

      public String getSequenceCounterFieldName()
    • getSequenceNameFieldName

      public String getSequenceNameFieldName()
    • getSequenceTable

      @Deprecated(forRemoval=true, since="4.0.9") public org.eclipse.persistence.internal.helper.DatabaseTable getSequenceTable()
      Deprecated, for removal: This API element is subject to removal in a future version.
      To be removed with no replacement.
      Return the database table for the sequence.
    • getSequenceTableIndexes

      public List<IndexDefinition> getSequenceTableIndexes()
    • getSequenceTableName

      public String getSequenceTableName()
    • getSequenceTableQualifier

      public String getSequenceTableQualifier()
    • getSequenceTableQualifiedName

      public String getSequenceTableQualifiedName()
    • buildTableDefinition

      public TableDefinition buildTableDefinition()
      INTERNAL: Return a TableDefinition specifying sequence table. Cache the table definition for re-use (during CREATE and DROP)
      Overrides:
      buildTableDefinition in class SequenceDefinition
    • getTableSequence

      @Deprecated(forRemoval=true, since="4.0.9") protected TableSequence getTableSequence()
      Deprecated, for removal: This API element is subject to removal in a future version.
      To be removed with no replacement.
    • isTableSequenceDefinition

      public boolean isTableSequenceDefinition()
      INTERNAL:
      Overrides:
      isTableSequenceDefinition in class SequenceDefinition
    • preDropObject

      @Deprecated(forRemoval=true, since="4.0.9") public void preDropObject(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer dropSchemaWriter, boolean createSQLFiles)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Execute any statements required before the deletion of the object
      Overrides:
      preDropObject in class DatabaseObjectDefinition
    • setSequenceCounterFieldName

      public void setSequenceCounterFieldName(String sequenceCounterFieldName)
    • setSequenceNameFieldName

      public void setSequenceNameFieldName(String sequenceNameFieldName)
    • setSequenceTableIndexes

      public void setSequenceTableIndexes(List<IndexDefinition> sequenceTableIndexes)
    • setSequenceTableName

      public void setSequenceTableName(String sequenceTableName)
    • setSequenceTableQualifier

      public void setSequenceTableQualifier(String sequenceTableQualifier)
    • shouldDropTableDefinition

      protected boolean shouldDropTableDefinition()
      INTERNAL: Returns true if the table definition should be dropped during buildDeletionWriter.