Class TableSequenceDefinition
java.lang.Object
org.eclipse.persistence.tools.schemaframework.DatabaseObjectDefinition
org.eclipse.persistence.tools.schemaframework.SequenceDefinition
org.eclipse.persistence.tools.schemaframework.TableSequenceDefinition
- All Implemented Interfaces:
Serializable,Cloneable
- Direct Known Subclasses:
UnaryTableSequenceDefinition
Purpose: Allow a generic way of creating sequences on the different platforms, and allow optional parameters to be specified.
- See Also:
-
Field Summary
FieldsFields inherited from class org.eclipse.persistence.tools.schemaframework.SequenceDefinition
sequenceFields inherited from class org.eclipse.persistence.tools.schemaframework.DatabaseObjectDefinition
name, qualifier -
Constructor Summary
ConstructorsConstructorDescriptionTableSequenceDefinition(Sequence sequence, 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 Summary
Modifier and TypeMethodDescriptionbuildCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer) INTERNAL: Return the SQL required to insert the sequence row into the sequence table.buildDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer) INTERNAL: Return the SQL to delete the row from the sequence table.INTERNAL: Return a TableDefinition specifying sequence table.booleancheckIfExist(org.eclipse.persistence.internal.sessions.AbstractSession session) INTERAL: Execute the SQL required to insert the sequence row into the sequence table.voiddropDatabaseSchema(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer) INTERNAL: Execute the DDL to drop the database schema for this object.voiddropDatabaseSchemaOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session) INTERNAL: Execute the DDL to drop the database schema for this object.PUBLIC: Return the schema associated with this table sequence.PUBLIC:PUBLIC:org.eclipse.persistence.internal.helper.DatabaseTableReturn the database table for the sequence.PUBLIC:PUBLIC:PUBLIC:PUBLIC:protected TableSequencebooleanINTERNAL:voidpreDropObject(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer dropSchemaWriter, boolean createSQLFiles) Execute any statements required before the deletion of the objectprotected booleanINTERNAL: Returns true if the table definition should be dropped during buildDeletionWriter.Methods inherited from class org.eclipse.persistence.tools.schemaframework.SequenceDefinition
alter, alterOnDatabase, createOnDatabase, isAlterSupportedMethods inherited from class org.eclipse.persistence.tools.schemaframework.DatabaseObjectDefinition
buildVPDCreationFunctionWriter, buildVPDCreationPolicyWriter, buildVPDDeletionWriter, clone, createDatabaseSchema, createDatabaseSchemaOnDatabase, createObject, dropFromDatabase, dropObject, getFieldTypeDefinition, getFieldTypeDefinition, getFullName, getName, getQualifier, hasDatabaseSchema, postCreateObject, setName, setQualifier, shouldCreateDatabaseSchema, shouldCreateVPDCalls, toString
-
Field Details
-
tableDefinition
-
deleteSchema
protected boolean deleteSchema
-
-
Constructor Details
-
TableSequenceDefinition
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
public Writer buildCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer) throws ValidationException INTERNAL: Return the SQL required to insert the sequence row into the sequence table. Assume that the sequence table exists.- Specified by:
buildCreationWriterin classDatabaseObjectDefinition- Throws:
ValidationException
-
buildDeletionWriter
public Writer buildDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer) throws ValidationException 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:
buildDeletionWriterin classDatabaseObjectDefinition- Throws:
ValidationException
-
checkIfExist
public boolean checkIfExist(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DatabaseException INTERAL: Execute the SQL required to insert the sequence row into the sequence table. Assume that the sequence table exists.- Specified by:
checkIfExistin classSequenceDefinition- Throws:
DatabaseException
-
dropDatabaseSchema
public void dropDatabaseSchema(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer) throws EclipseLinkException 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:
dropDatabaseSchemain classDatabaseObjectDefinition- Throws:
EclipseLinkException- See Also:
-
dropDatabaseSchemaOnDatabase
public void dropDatabaseSchemaOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session) throws EclipseLinkException 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:
dropDatabaseSchemaOnDatabasein classDatabaseObjectDefinition- Throws:
EclipseLinkException- See Also:
-
getDatabaseSchema
PUBLIC: Return the schema associated with this table sequence.- Overrides:
getDatabaseSchemain classDatabaseObjectDefinition- See Also:
-
getSequenceCounterFieldName
PUBLIC: -
getSequenceNameFieldName
PUBLIC: -
getSequenceTable
public org.eclipse.persistence.internal.helper.DatabaseTable getSequenceTable()Return the database table for the sequence. -
getSequenceTableIndexes
PUBLIC: -
getSequenceTableName
PUBLIC: -
getSequenceTableQualifier
PUBLIC: -
getSequenceTableQualifiedName
PUBLIC: -
buildTableDefinition
INTERNAL: Return a TableDefinition specifying sequence table. Cache the table definition for re-use (during CREATE and DROP)- Overrides:
buildTableDefinitionin classSequenceDefinition
-
getTableSequence
-
isTableSequenceDefinition
public boolean isTableSequenceDefinition()INTERNAL:- Overrides:
isTableSequenceDefinitionin classSequenceDefinition
-
preDropObject
public void preDropObject(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer dropSchemaWriter, boolean createSQLFiles) Execute any statements required before the deletion of the object- Overrides:
preDropObjectin classDatabaseObjectDefinition- Parameters:
session-dropSchemaWriter-
-
shouldDropTableDefinition
protected boolean shouldDropTableDefinition()INTERNAL: Returns true if the table definition should be dropped during buildDeletionWriter.
-