Class SequenceObjectDefinition

All Implemented Interfaces:
Serializable, Cloneable

public class SequenceObjectDefinition extends SequenceDefinition

Purpose: Sequence definition Native Sequence object.

See Also:
  • Constructor Details

    • SequenceObjectDefinition

      public SequenceObjectDefinition(Sequence sequence)
      INTERNAL: Should be a sequence defining sequence object in the db: either NativeSequence with shouldAcquireValueAfterInsert() returning false; or DefaultSequence (only if case platform.getDefaultSequence() is a NativeSequence with shouldAcquireValueAfterInsert() returning false).
  • Method Details

    • buildCreationWriter

      public Writer buildCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer)
      INTERNAL: Return the SQL required to create the Oracle sequence object.
      Specified by:
      buildCreationWriter in class DatabaseObjectDefinition
    • buildDeletionWriter

      public Writer buildDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer)
      INTERNAL: Return the SQL required to drop the Oracle sequence object.
      Specified by:
      buildDeletionWriter in class DatabaseObjectDefinition
    • buildAlterIncrementWriter

      public Writer buildAlterIncrementWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer)
      INTERNAL: Return the SQL required to alter INCREMENT BY
    • checkIfExist

      public boolean checkIfExist(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DatabaseException
      INTERNAL: Check if the sequence object already exists, in which case dont create it.
      Specified by:
      checkIfExist in class SequenceDefinition
      Throws:
      DatabaseException
    • isAlterSupported

      public boolean isAlterSupported(org.eclipse.persistence.internal.sessions.AbstractSession session)
      INTERNAL: Indicates whether alterIncrement is supported
      Overrides:
      isAlterSupported in class SequenceDefinition
    • alterOnDatabase

      public void alterOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session) throws EclipseLinkException
      INTERNAL: Execute the SQL required to alter sequence increment. Assume that the sequence exists.
      Overrides:
      alterOnDatabase in class SequenceDefinition
      Throws:
      EclipseLinkException
    • alterIncrement

      public void alterIncrement(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer schemaWriter) throws ValidationException
      INTERNAL: Execute the SQL required to alter sequence increment. Assume that the sequence exists.
      Throws:
      ValidationException
    • getFullName

      public String getFullName()
      INTERNAL: Most major databases support a creator name scope. This means whenever the database object is referenced, it must be qualified.
      Overrides:
      getFullName in class DatabaseObjectDefinition