- java.lang.Object
-
- org.eclipse.persistence.tools.schemaframework.DatabaseObjectDefinition
-
- org.eclipse.persistence.tools.schemaframework.TableDefinition
-
- All Implemented Interfaces:
Serializable,Cloneable
- Direct Known Subclasses:
TypeTableDefinition
public class TableDefinition extends DatabaseObjectDefinition
Purpose: Allow a generic way of creating tables on the different platforms.
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected List<CheckConstraint>checkConstraintsprotected Stringcommentprotected StringcreationPrefixprotected StringcreationSuffixprotected List<FieldDefinition>fieldsprotected Map<String,ForeignKeyConstraint>foreignKeyMapprotected booleanhasUserDefinedForeignKeyConstraintsprotected List<IndexDefinition>indexesprotected org.eclipse.persistence.internal.helper.DatabaseTabletableDeprecated, for removal: This API element is subject to removal in a future version.protected List<UniqueKeyConstraint>uniqueKeys-
Fields inherited from class org.eclipse.persistence.tools.schemaframework.DatabaseObjectDefinition
name, qualifier
-
-
Constructor Summary
Constructors Constructor Description TableDefinition()TableDefinition(String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddCheckConstraint(CheckConstraint checkConstraint)voidaddField(String fieldName, Class<?> type)PUBLIC: Add the field to the table, default sizes are used.voidaddField(String fieldName, Class<?> type, int fieldSize)PUBLIC: Add the field to the table.voidaddField(String fieldName, Class<?> type, int fieldSize, int fieldSubSize)PUBLIC: Add the field to the table.voidaddField(String fieldName, String typeName)PUBLIC: Add the field to the type to a nested type.voidaddField(FieldDefinition field)PUBLIC: Add the field to the table.voidaddFieldOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session, FieldDefinition field)Deprecated, for removal: This API element is subject to removal in a future version.voidaddForeignKeyConstraint(String name, String sourceField, String targetField, String targetTable)PUBLIC: Add a foreign key constraint to the table.voidaddForeignKeyConstraint(ForeignKeyConstraint foreignKey)PUBLIC: Add a foreign key constraint to the table.voidaddIdentityField(String fieldName, Class<?> type)PUBLIC: Add the field to the table, default sizes are used.voidaddIdentityField(String fieldName, Class<?> type, int fieldSize)PUBLIC: Add the field to the table, default sizes are used.voidaddIndex(IndexDefinition index)PUBLIC: Add an index to the table.voidaddPrimaryKeyField(String fieldName, Class<?> type)PUBLIC: Add the field to the table, default sizes are used.voidaddPrimaryKeyField(String fieldName, Class<?> type, int fieldSize)PUBLIC: Add the field to the table, default sizes are used.voidaddUniqueKeyConstraint(String name, String sourceField)PUBLIC: Add a unique key constraint to the table.voidaddUniqueKeyConstraint(String name, String[] sourceFields)PUBLIC: Add a unique key constraint to the table.voidaddUniqueKeyConstraint(UniqueKeyConstraint uniqueKey)PUBLIC: Add a unique key constraint to the table.WriterbuildAddFieldWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, FieldDefinition field, Writer writer)Deprecated, for removal: This API element is subject to removal in a future version.WriterbuildConstraintCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, ForeignKeyConstraint foreignKey, Writer writer)Deprecated, for removal: This API element is subject to removal in a future version.WriterbuildConstraintDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, ForeignKeyConstraint foreignKey, Writer writer)Deprecated, for removal: This API element is subject to removal in a future version.WriterbuildCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer)Deprecated, for removal: This API element is subject to removal in a future version.protected WriterbuildDatabaseSchemaCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer, Set<String> createdDatabaseSchemas)Deprecated, for removal: This API element is subject to removal in a future version.protected WriterbuildDatabaseSchemaDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer)Deprecated, for removal: This API element is subject to removal in a future version.WriterbuildDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer)Deprecated, for removal: This API element is subject to removal in a future version.protected voidbuildFieldTypes(org.eclipse.persistence.internal.sessions.AbstractSession session)INTERNAL: Build the foreign key constraints.protected ForeignKeyConstraintbuildForeignKeyConstraint(List<String> fkFieldNames, List<String> pkFieldNames, TableDefinition targetTable, DDLPlatform platform)Deprecated, for removal: This API element is subject to removal in a future version.protected ForeignKeyConstraintbuildForeignKeyConstraint(FieldDefinition field, DDLPlatform platform)Deprecated, for removal: This API element is subject to removal in a future version.protected StringbuildForeignKeyConstraintName(String tableName, String fieldName, int maximumNameLength, DDLPlatform platform)Deprecated, for removal: This API element is subject to removal in a future version.IndexDefinitionbuildIndex(org.eclipse.persistence.internal.sessions.AbstractSession session, String key, List<String> columnNames, boolean isUniqueSetOnField)Deprecated, for removal: This API element is subject to removal in a future version.WriterbuildIndexDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, String key, Writer writer, boolean isUniqueSetOnField)Deprecated, for removal: This API element is subject to removal in a future version.protected StringbuildIndexName(String tableName, String key, String indexPrefix, int maximumNameLength, DDLPlatform platform)Deprecated, for removal: This API element is subject to removal in a future version.WriterbuildUniqueConstraintCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, UniqueKeyConstraint uniqueKey, Writer writer)Deprecated, for removal: This API element is subject to removal in a future version.WriterbuildUniqueConstraintDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, UniqueKeyConstraint uniqueKey, Writer writer)Deprecated, for removal: This API element is subject to removal in a future version.protected UniqueKeyConstraintbuildUniqueKeyConstraint(String name, List<String> fieldNames, int serialNumber, DDLPlatform platform)protected StringbuildUniqueKeyConstraintName(String tableName, int serialNumber, int maximumNameLength)Deprecated, for removal: This API element is subject to removal in a future version.WriterbuildVPDCreationFunctionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer)Deprecated, for removal: This API element is subject to removal in a future version.WriterbuildVPDCreationPolicyWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer)Deprecated, for removal: This API element is subject to removal in a future version.WriterbuildVPDDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer)Deprecated, for removal: This API element is subject to removal in a future version.Objectclone()PUBLIC: Performs a deep copy of this table definition.voidcreateConstraints(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer schemaWriter)Deprecated, for removal: This API element is subject to removal in a future version.voidcreateConstraintsOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session)Deprecated, for removal: This API element is subject to removal in a future version.voidcreateDatabaseSchema(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer, Set<String> createdDatabaseSchemas)Deprecated, for removal: This API element is subject to removal in a future version.voidcreateDatabaseSchemaOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session, Set<String> createdDatabaseSchemas)Deprecated, for removal: This API element is subject to removal in a future version.voidcreateIndexes(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer)Deprecated, for removal: This API element is subject to removal in a future version.StringdeletionStringFor(org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor accessor)Deprecated, for removal: This API element is subject to removal in a future version.voiddropConstraints(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer schemaWriter)Deprecated, for removal: This API element is subject to removal in a future version.voiddropConstraintsOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session)Deprecated, for removal: This API element is subject to removal in a future version.voiddropDatabaseSchema(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer)Deprecated, for removal: This API element is subject to removal in a future version.voiddropDatabaseSchemaOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session)Deprecated, for removal: This API element is subject to removal in a future version.voiddropIndexes(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer)Deprecated, for removal: This API element is subject to removal in a future version.List<CheckConstraint>getCheckConstraints()StringgetComment()StringgetCreationPrefix()INTERNAL: Return the beginning of the sql create statement - the part before the name.StringgetCreationSuffix()INTERNAL: Return the end of the sql create statement - the part after the field list.StringgetDatabaseSchema()PUBLIC: Return the schema associated with this table.FieldDefinitiongetField(String fieldName)PUBLIC: Return the field the corresponds to the name.List<FieldDefinition>getFields()PUBLIC:Map<String,ForeignKeyConstraint>getForeignKeyMap()INTERNAL:Collection<ForeignKeyConstraint>getForeignKeys()PUBLIC: Returns the ForeignKeyConstraint list.List<IndexDefinition>getIndexes()PUBLIC:List<String>getPrimaryKeyFieldNames()PUBLIC:org.eclipse.persistence.internal.helper.DatabaseTablegetTable()Deprecated, for removal: This API element is subject to removal in a future version.List<UniqueKeyConstraint>getUniqueKeys()PUBLIC:voidpostCreateObject(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer createSchemaWriter, boolean createSQLFiles)Deprecated, for removal: This API element is subject to removal in a future version.voidpreDropObject(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.voidsetComment(String comment)voidsetCreateSQLFiles(boolean genFlag)PUBLIC:voidsetCreateVPDCalls(boolean createVPDCalls, String tenantFieldName)PUBLIC:voidsetCreationPrefix(String creationPrefix)INTERNAL: Set the beginning of the sql create statement - the part before the name.voidsetCreationSuffix(String creationSuffix)INTERNAL: Set the end of the sql create statement - the part after the field list.voidsetFields(List<FieldDefinition> fields)PUBLIC:voidsetForeignKeyMap(Map<String,ForeignKeyConstraint> foreignKeyMap)INTERNAL:voidsetForeignKeys(List<ForeignKeyConstraint> foreignKeys)PUBLIC: Set the ForeignKeyConstraint list.voidsetIndexes(List<IndexDefinition> indexes)PUBLIC:voidsetTable(org.eclipse.persistence.internal.helper.DatabaseTable table)Deprecated, for removal: This API element is subject to removal in a future version.voidsetUniqueKeys(List<UniqueKeyConstraint> uniqueKeys)PUBLIC:voidsetUserDefinedForeignKeyConstraints(Map<String,ForeignKeyConstraint> foreignKeyConstraints)PUBLIC: Set the foreign key constraints for this table.booleanshouldCreateDatabaseSchema(Set<String> createdDatabaseSchemas)If this table has a schema (and catalog specified) make sure it is created.booleanshouldCreateVPDCalls(org.eclipse.persistence.internal.sessions.AbstractSession session)Deprecated, for removal: This API element is subject to removal in a future version.voidwriteLineSeperator(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer)Deprecated, for removal: This API element is subject to removal in a future version.-
Methods inherited from class org.eclipse.persistence.tools.schemaframework.DatabaseObjectDefinition
createObject, createOnDatabase, dropFromDatabase, dropObject, getFieldTypeDefinition, getFieldTypeDefinition, getFullName, getName, getQualifier, hasDatabaseSchema, setName, setQualifier, toString
-
-
-
-
Field Detail
-
fields
protected List<FieldDefinition> fields
-
foreignKeyMap
protected Map<String,ForeignKeyConstraint> foreignKeyMap
-
uniqueKeys
protected List<UniqueKeyConstraint> uniqueKeys
-
checkConstraints
protected List<CheckConstraint> checkConstraints
-
indexes
protected List<IndexDefinition> indexes
-
creationPrefix
protected String creationPrefix
-
creationSuffix
protected String creationSuffix
-
comment
protected String comment
-
table
@Deprecated(forRemoval=true, since="4.0.9") protected org.eclipse.persistence.internal.helper.DatabaseTable table
Deprecated, for removal: This API element is subject to removal in a future version.
-
hasUserDefinedForeignKeyConstraints
protected boolean hasUserDefinedForeignKeyConstraints
-
-
Constructor Detail
-
TableDefinition
public TableDefinition()
-
TableDefinition
public TableDefinition(String name)
-
-
Method Detail
-
addField
public void addField(String fieldName, Class<?> type)
PUBLIC: Add the field to the table, default sizes are used.- Parameters:
type- is the Java class type corresponding to the database type.
-
addField
public void addField(String fieldName, Class<?> type, int fieldSize)
PUBLIC: Add the field to the table.- Parameters:
type- is the Java class type corresponding to the database type.
-
addField
public void addField(String fieldName, Class<?> type, int fieldSize, int fieldSubSize)
PUBLIC: Add the field to the table.- Parameters:
type- is the Java class type corresponding to the database type.
-
addField
public void addField(String fieldName, String typeName)
PUBLIC: Add the field to the type to a nested type.- Parameters:
typeName- is the name of the nested type.
-
addField
public void addField(FieldDefinition field)
PUBLIC: Add the field to the table.
-
addFieldOnDatabase
@Deprecated(forRemoval=true, since="4.0.9") public void addFieldOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session, FieldDefinition field)
Deprecated, for removal: This API element is subject to removal in a future version.INTERNAL: Execute the SQL alter table to add the field to the table.
-
buildAddFieldWriter
@Deprecated(forRemoval=true, since="4.0.9") public Writer buildAddFieldWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, FieldDefinition field, Writer writer) throws ValidationException
Deprecated, for removal: This API element is subject to removal in a future version.INTERNAL: Return the alter table statement to add a field to the table.- Throws:
ValidationException
-
addForeignKeyConstraint
public void addForeignKeyConstraint(String name, String sourceField, String targetField, String targetTable)
PUBLIC: Add a foreign key constraint to the table. If there is a same name foreign key constraint already, nothing will happen.
-
addUniqueKeyConstraint
public void addUniqueKeyConstraint(String name, String sourceField)
PUBLIC: Add a unique key constraint to the table.
-
addUniqueKeyConstraint
public void addUniqueKeyConstraint(String name, String[] sourceFields)
PUBLIC: Add a unique key constraint to the table.
-
addForeignKeyConstraint
public void addForeignKeyConstraint(ForeignKeyConstraint foreignKey)
PUBLIC: Add a foreign key constraint to the table. If there is a same name foreign key constraint already, nothing will happen.
-
addUniqueKeyConstraint
public void addUniqueKeyConstraint(UniqueKeyConstraint uniqueKey)
PUBLIC: Add a unique key constraint to the table.
-
addCheckConstraint
public void addCheckConstraint(CheckConstraint checkConstraint)
-
getCheckConstraints
public List<CheckConstraint> getCheckConstraints()
-
addIndex
public void addIndex(IndexDefinition index)
PUBLIC: Add an index to the table.
-
addIdentityField
public void addIdentityField(String fieldName, Class<?> type)
PUBLIC: Add the field to the table, default sizes are used. Identity fields are used on Sybase for native sequencing, The field must be of number type and cannot have a subsize.- Parameters:
type- is the Java class type corresponding to the database type.
-
addIdentityField
public void addIdentityField(String fieldName, Class<?> type, int fieldSize)
PUBLIC: Add the field to the table, default sizes are used. Identity fields are used on Sybase for native sequencing, The field must be of number type and cannot have a subsize.- Parameters:
type- is the Java class type corresponding to the database type.
-
addPrimaryKeyField
public void addPrimaryKeyField(String fieldName, Class<?> type)
PUBLIC: Add the field to the table, default sizes are used. This field is set as part of the primary key.- Parameters:
type- is the Java class type corresponding to the database type.
-
addPrimaryKeyField
public void addPrimaryKeyField(String fieldName, Class<?> type, int fieldSize)
PUBLIC: Add the field to the table, default sizes are used. This field is set as part of the primary key.- Parameters:
type- is the Java class type corresponding to the database type.
-
buildConstraintCreationWriter
@Deprecated(forRemoval=true, since="4.0.9") public Writer buildConstraintCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, ForeignKeyConstraint foreignKey, Writer writer) throws ValidationException
Deprecated, for removal: This API element is subject to removal in a future version.INTERNAL: Return the alter table statement to add the constraints. This is done separately from the create because of dependencies.- Throws:
ValidationException
-
buildConstraintDeletionWriter
@Deprecated(forRemoval=true, since="4.0.9") public Writer buildConstraintDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, ForeignKeyConstraint foreignKey, Writer writer) throws ValidationException
Deprecated, for removal: This API element is subject to removal in a future version.INTERNAL: Return the alter table statement to drop the constraints. This is done separately to allow constraints to be dropped before the tables.- Throws:
ValidationException
-
buildUniqueConstraintCreationWriter
@Deprecated(forRemoval=true, since="4.0.9") public Writer buildUniqueConstraintCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, UniqueKeyConstraint uniqueKey, Writer writer) throws ValidationException
Deprecated, for removal: This API element is subject to removal in a future version.INTERNAL: Return the alter table statement to add the constraints. This is done separately from the create because of dependencies.- Throws:
ValidationException
-
buildUniqueConstraintDeletionWriter
@Deprecated(forRemoval=true, since="4.0.9") public Writer buildUniqueConstraintDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, UniqueKeyConstraint uniqueKey, Writer writer) throws ValidationException
Deprecated, for removal: This API element is subject to removal in a future version.INTERNAL: Return the alter table statement to drop the constraints. This is done separately to allow constraints to be dropped before the tables.- Throws:
ValidationException
-
buildIndex
@Deprecated(forRemoval=true, since="4.0.9") public IndexDefinition buildIndex(org.eclipse.persistence.internal.sessions.AbstractSession session, String key, List<String> columnNames, boolean isUniqueSetOnField)
Deprecated, for removal: This API element is subject to removal in a future version.INTERNAL: Return the index creation statement.
-
buildIndexDeletionWriter
@Deprecated(forRemoval=true, since="4.0.9") public Writer buildIndexDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, String key, Writer writer, boolean isUniqueSetOnField)
Deprecated, for removal: This API element is subject to removal in a future version.INTERNAL: Return the index drop statement.
-
getCreationPrefix
public String getCreationPrefix()
INTERNAL: Return the beginning of the sql create statement - the part before the name. Unless temp table is created should be "CREATE TABLE "
-
setCreationPrefix
public void setCreationPrefix(String creationPrefix)
INTERNAL: Set the beginning of the sql create statement - the part before the name. Use to create temp. table.
-
getCreationSuffix
public String getCreationSuffix()
INTERNAL: Return the end of the sql create statement - the part after the field list. Unless temp table is created should be empty.
-
getDatabaseSchema
public String getDatabaseSchema()
PUBLIC: Return the schema associated with this table.- Overrides:
getDatabaseSchemain classDatabaseObjectDefinition- See Also:
TableDefinition
-
setCreationSuffix
public void setCreationSuffix(String creationSuffix)
INTERNAL: Set the end of the sql create statement - the part after the field list.
-
getComment
public String getComment()
-
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 create table statement.- Specified by:
buildCreationWriterin classDatabaseObjectDefinition- 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 drop table statement.- Specified by:
buildDeletionWriterin classDatabaseObjectDefinition- Throws:
ValidationException
-
buildVPDCreationPolicyWriter
@Deprecated(forRemoval=true, since="4.0.9") public Writer buildVPDCreationPolicyWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer)
Deprecated, for removal: This API element is subject to removal in a future version.INTERNAL:- Overrides:
buildVPDCreationPolicyWriterin classDatabaseObjectDefinition
-
buildVPDCreationFunctionWriter
@Deprecated(forRemoval=true, since="4.0.9") public Writer buildVPDCreationFunctionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer)
Deprecated, for removal: This API element is subject to removal in a future version.INTERNAL:- Overrides:
buildVPDCreationFunctionWriterin classDatabaseObjectDefinition
-
buildDatabaseSchemaCreationWriter
@Deprecated(forRemoval=true, since="4.0.9") protected Writer buildDatabaseSchemaCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer, Set<String> createdDatabaseSchemas)
Deprecated, for removal: This API element is subject to removal in a future version.INTERNAL: Build the create schema DDL.
-
buildDatabaseSchemaDeletionWriter
@Deprecated(forRemoval=true, since="4.0.9") protected Writer buildDatabaseSchemaDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer)
Deprecated, for removal: This API element is subject to removal in a future version.INTERNAL: Build the drop schema DDL.
-
buildVPDDeletionWriter
@Deprecated(forRemoval=true, since="4.0.9") public Writer buildVPDDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer)
Deprecated, for removal: This API element is subject to removal in a future version.INTERNAL:- Overrides:
buildVPDDeletionWriterin classDatabaseObjectDefinition
-
buildFieldTypes
protected void buildFieldTypes(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Build the foreign key constraints.
-
buildForeignKeyConstraint
@Deprecated(forRemoval=true, since="4.0.9") protected ForeignKeyConstraint buildForeignKeyConstraint(FieldDefinition field, DDLPlatform platform)
Deprecated, for removal: This API element is subject to removal in a future version.Build a foreign key constraint using FieldDefinition.getForeignKeyFieldName().
-
buildForeignKeyConstraint
@Deprecated(forRemoval=true, since="4.0.9") protected ForeignKeyConstraint buildForeignKeyConstraint(List<String> fkFieldNames, List<String> pkFieldNames, TableDefinition targetTable, DDLPlatform platform)
Deprecated, for removal: This API element is subject to removal in a future version.Build a foreign key constraint.
-
buildForeignKeyConstraintName
@Deprecated(forRemoval=true, since="4.0.9") protected String buildForeignKeyConstraintName(String tableName, String fieldName, int maximumNameLength, DDLPlatform platform)
Deprecated, for removal: This API element is subject to removal in a future version.Return foreign key constraint name built from the table and field name with the specified maximum length. To make the name short enough we 1. Drop the "FK_" prefix. 2. Drop the underscore characters if any. 3. Drop the vowels from the table and field name. 4. Truncate the table name to zero length if necessary.
-
buildUniqueKeyConstraint
protected UniqueKeyConstraint buildUniqueKeyConstraint(String name, List<String> fieldNames, int serialNumber, DDLPlatform platform)
-
buildUniqueKeyConstraintName
@Deprecated(forRemoval=true, since="4.0.9") protected String buildUniqueKeyConstraintName(String tableName, int serialNumber, int maximumNameLength)
Deprecated, for removal: This API element is subject to removal in a future version.Return unique key constraint name built from the table name and sequence number with the specified maximum length. To make the name short enough we 1. Drop the "UNQ_" prefix. 2. Drop the underscore characters if any. 3. Drop the vowels from the table name. 4. Truncate the table name to zero length if necessary.
-
buildIndexName
@Deprecated(forRemoval=true, since="4.0.9") protected String buildIndexName(String tableName, String key, String indexPrefix, int maximumNameLength, DDLPlatform platform)
Deprecated, for removal: This API element is subject to removal in a future version.Return key constraint name built from the table and key name with the specified maximum length and index prefix. If indexPrefix is null, "IX_" is used for prefix. To make the name short enough we:1. Drop the prefix. 2. Drop the underscore characters if any. 3. Drop the vowels from the table and key name. 4. Truncate the table name to zero length if necessary.
-
clone
public Object clone()
PUBLIC: Performs a deep copy of this table definition.- Overrides:
clonein classDatabaseObjectDefinition
-
createConstraints
@Deprecated(forRemoval=true, since="4.0.9") public void createConstraints(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer schemaWriter) throws EclipseLinkException
Deprecated, for removal: This API element is subject to removal in a future version.INTERNAL: Execute the SQL alter table constraint creation string.- Throws:
EclipseLinkException
-
createConstraintsOnDatabase
@Deprecated(forRemoval=true, since="4.0.9") public void createConstraintsOnDatabase(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 SQL alter table constraint creation string.- Throws:
EclipseLinkException
-
createDatabaseSchema
@Deprecated(forRemoval=true, since="4.0.9") public void createDatabaseSchema(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer, Set<String> createdDatabaseSchemas) throws EclipseLinkException
Deprecated, for removal: This API element is subject to removal in a future version.INTERNAL: Execute the DDL to create the database schema for this object.- Overrides:
createDatabaseSchemain classDatabaseObjectDefinition- Throws:
EclipseLinkException- See Also:
TableDefinition
-
createDatabaseSchemaOnDatabase
@Deprecated(forRemoval=true, since="4.0.9") public void createDatabaseSchemaOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session, Set<String> createdDatabaseSchemas) throws EclipseLinkException
Deprecated, for removal: This API element is subject to removal in a future version.INTERNAL: Execute the DDL to create the database schema for this object.- Overrides:
createDatabaseSchemaOnDatabasein classDatabaseObjectDefinition- Throws:
EclipseLinkException- See Also:
TableDefinition
-
createIndexes
@Deprecated(forRemoval=true, since="4.0.9") public void createIndexes(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer)
Deprecated, for removal: This API element is subject to removal in a future version.INTERNAL:
Write the SQL create index string to create index if passed a writer, else delegate to a method that executes the string on the database.- Throws:
ValidationException- wraps any IOException from the writer
-
writeLineSeperator
@Deprecated(forRemoval=true, since="4.0.9") public void writeLineSeperator(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer)
Deprecated, for removal: This API element is subject to removal in a future version.
-
deletionStringFor
@Deprecated(forRemoval=true, since="4.0.9") public String deletionStringFor(org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor accessor)
Deprecated, for removal: This API element is subject to removal in a future version.INTERNAL: Return the delete SQL string.
-
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.- Overrides:
dropDatabaseSchemain classDatabaseObjectDefinition- Throws:
EclipseLinkException- See Also:
TableDefinition
-
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.- Overrides:
dropDatabaseSchemaOnDatabasein classDatabaseObjectDefinition- Throws:
EclipseLinkException- See Also:
TableDefinition
-
dropConstraints
@Deprecated(forRemoval=true, since="4.0.9") public void dropConstraints(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer schemaWriter) throws EclipseLinkException
Deprecated, for removal: This API element is subject to removal in a future version.INTERNAL: Execute the SQL alter table constraint creation string.- Throws:
EclipseLinkException
-
dropConstraintsOnDatabase
@Deprecated(forRemoval=true, since="4.0.9") public void dropConstraintsOnDatabase(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 SQL alter table constraint creation string. Exceptions are caught and masked so that all the foreign keys are dropped (even if they don't exist).- Throws:
EclipseLinkException
-
dropIndexes
@Deprecated(forRemoval=true, since="4.0.9") public void dropIndexes(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer)
Deprecated, for removal: This API element is subject to removal in a future version.INTERNAL:
Write the SQL drop index string to drop indexes if passed a writer, else delegate to a method that executes the string on the database.- Throws:
ValidationException- wraps any IOException from the writer
-
getForeignKeyMap
public Map<String,ForeignKeyConstraint> getForeignKeyMap()
INTERNAL:
-
setForeignKeyMap
public void setForeignKeyMap(Map<String,ForeignKeyConstraint> foreignKeyMap)
INTERNAL:
-
getField
public FieldDefinition getField(String fieldName)
PUBLIC: Return the field the corresponds to the name.
-
getFields
public List<FieldDefinition> getFields()
PUBLIC:
-
getForeignKeys
public Collection<ForeignKeyConstraint> getForeignKeys()
PUBLIC: Returns the ForeignKeyConstraint list.
-
getUniqueKeys
public List<UniqueKeyConstraint> getUniqueKeys()
PUBLIC:
-
setIndexes
public void setIndexes(List<IndexDefinition> indexes)
PUBLIC:
-
setCreateVPDCalls
public void setCreateVPDCalls(boolean createVPDCalls, String tenantFieldName)PUBLIC:
-
getIndexes
public List<IndexDefinition> getIndexes()
PUBLIC:
-
postCreateObject
@Deprecated(forRemoval=true, since="4.0.9") public void postCreateObject(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer createSchemaWriter, boolean createSQLFiles)
Deprecated, for removal: This API element is subject to removal in a future version.Execute any statements required after the creation of the object- Overrides:
postCreateObjectin classDatabaseObjectDefinition
-
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:
preDropObjectin classDatabaseObjectDefinition
-
setFields
public void setFields(List<FieldDefinition> fields)
PUBLIC:
-
setForeignKeys
public void setForeignKeys(List<ForeignKeyConstraint> foreignKeys)
PUBLIC: Set the ForeignKeyConstraint list. If the list contains the same name foreign key constraints, only the first one of that name will be added.
-
setUniqueKeys
public void setUniqueKeys(List<UniqueKeyConstraint> uniqueKeys)
PUBLIC:
-
setUserDefinedForeignKeyConstraints
public void setUserDefinedForeignKeyConstraints(Map<String,ForeignKeyConstraint> foreignKeyConstraints)
PUBLIC: Set the foreign key constraints for this table.
-
shouldCreateDatabaseSchema
public boolean shouldCreateDatabaseSchema(Set<String> createdDatabaseSchemas)
If this table has a schema (and catalog specified) make sure it is created.- Overrides:
shouldCreateDatabaseSchemain classDatabaseObjectDefinition
-
shouldCreateVPDCalls
@Deprecated(forRemoval=true, since="4.0.9") public boolean shouldCreateVPDCalls(org.eclipse.persistence.internal.sessions.AbstractSession session)
Deprecated, for removal: This API element is subject to removal in a future version.INTERNAL: Subclasses who care should override this method.- Overrides:
shouldCreateVPDCallsin classDatabaseObjectDefinition
-
setCreateSQLFiles
public void setCreateSQLFiles(boolean genFlag)
PUBLIC:
-
getTable
@Deprecated(forRemoval=true, since="4.0.9") public org.eclipse.persistence.internal.helper.DatabaseTable getTable()
Deprecated, for removal: This API element is subject to removal in a future version.
-
setTable
@Deprecated(forRemoval=true, since="4.0.9") public void setTable(org.eclipse.persistence.internal.helper.DatabaseTable table)
Deprecated, for removal: This API element is subject to removal in a future version.
-
setComment
public void setComment(String comment)
-
-