public class TableDefinition extends DatabaseObjectDefinition
Purpose: Allow a generic way of creating tables on the different platforms.
name, qualifier| Constructor and Description |
|---|
TableDefinition() |
| Modifier and Type | Method and Description |
|---|---|
void |
addField(FieldDefinition field)
PUBLIC:
Add the field to the table.
|
void |
addField(String fieldName,
Class type)
PUBLIC:
Add the field to the table, default sizes are used.
|
void |
addField(String fieldName,
Class type,
int fieldSize)
PUBLIC:
Add the field to the table.
|
void |
addField(String fieldName,
Class type,
int fieldSize,
int fieldSubSize)
PUBLIC:
Add the field to the table.
|
void |
addField(String fieldName,
String typeName)
PUBLIC:
Add the field to the type to a nested type.
|
void |
addForeignKeyConstraint(ForeignKeyConstraint foreignKey)
PUBLIC:
Add a foreign key constraint to the table.
|
void |
addForeignKeyConstraint(String name,
String sourceField,
String targetField,
String targetTable)
PUBLIC:
Add a foreign key constraint to the table.
|
void |
addIdentityField(String fieldName,
Class type)
PUBLIC:
Add the field to the table, default sizes are used.
|
void |
addIdentityField(String fieldName,
Class type,
int fieldSize)
PUBLIC:
Add the field to the table, default sizes are used.
|
void |
addPrimaryKeyField(String fieldName,
Class type)
PUBLIC:
Add the field to the table, default sizes are used.
|
void |
addPrimaryKeyField(String fieldName,
Class type,
int fieldSize)
PUBLIC:
Add the field to the table, default sizes are used.
|
void |
addUniqueKeyConstraint(String name,
String sourceField)
PUBLIC:
Add a unique key constraint to the table.
|
void |
addUniqueKeyConstraint(String name,
String[] sourceFields)
PUBLIC:
Add a unique key constraint to the table.
|
void |
addUniqueKeyConstraint(UniqueKeyConstraint uniqueKey)
PUBLIC:
Add a unique key constraint to the table.
|
Writer |
buildConstraintCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session,
ForeignKeyConstraint foreignKey,
Writer writer)
INTERNAL:
Return the alter table statement to add the constraints.
|
Writer |
buildConstraintDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session,
ForeignKeyConstraint foreignKey,
Writer writer)
INTERNAL:
Return the alter table statement to drop the constraints.
|
Writer |
buildCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session,
Writer writer)
INTERNAL:
Return the create table statement.
|
Writer |
buildDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session,
Writer writer)
INTERNAL:
Return the drop table statement.
|
Writer |
buildIndexCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session,
String key,
List<String> columnNames,
Writer writer)
INTERNAL:
Return the index creation statement.
|
Writer |
buildIndexDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session,
String key,
Writer writer)
INTERNAL:
Return the index drop statement.
|
Writer |
buildUniqueConstraintCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session,
UniqueKeyConstraint uniqueKey,
Writer writer)
INTERNAL:
Return the alter table statement to add the constraints.
|
Writer |
buildUniqueConstraintDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session,
UniqueKeyConstraint uniqueKey,
Writer writer)
INTERNAL:
Return the alter table statement to drop the constraints.
|
Object |
clone()
PUBLIC:
Performs a deep copy of this table definition.
|
void |
createConstraints(org.eclipse.persistence.internal.sessions.AbstractSession session,
Writer schemaWriter)
INTERNAL:
Execute the SQL alter table constraint creation string.
|
void |
createConstraintsOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Execute the SQL alter table constraint creation string.
|
void |
createIndexOnPrimaryKey(org.eclipse.persistence.internal.sessions.AbstractSession session,
Writer schemaWriter)
INTERNAL:
Write the SQL create index string to create index on primary key if passed a writer, else delegate to a method that executes the string on the database. |
void |
createIndexOnPrimaryKeyOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Execute the SQL create index statement to create index on the primary key. |
void |
createIndicesOnUniqueKeys(org.eclipse.persistence.internal.sessions.AbstractSession session,
Writer schemaWriter)
INTERNAL:
Write the SQL create index string if passed a writer, else delegate to a method that executes the string on the database. |
void |
createIndicesOnUniqueKeysOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Execute the SQL create index statement to create index on the unique keys. |
void |
createOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Execute the DDL to create this table.
|
String |
deletionStringFor(org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor accessor)
INTERNAL:
Return the delete SQL string.
|
void |
dropConstraints(org.eclipse.persistence.internal.sessions.AbstractSession session,
Writer schemaWriter)
INTERNAL:
Execute the SQL alter table constraint creation string.
|
void |
dropConstraintsOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Execute the SQL alter table constraint creation string.
|
void |
dropFromDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Execute the DDL to drop the table.
|
void |
dropIndexOnPrimaryKey(org.eclipse.persistence.internal.sessions.AbstractSession session,
Writer schemaWriter)
INTERNAL:
Write the SQL drop index string to drop index on PK if passed a writer, else delegate to a method that executes the string on the database. |
void |
dropIndexOnPrimaryKeyOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Execute the SQL drop index string to drop the index on the PK. Exceptions are caught and masked (even if index doesn't exist). |
void |
dropIndicesOnUniqueKeys(org.eclipse.persistence.internal.sessions.AbstractSession session,
Writer schemaWriter)
INTERNAL:
Execute the SQL drop index string to drop indices. Exceptions are caught and masked so that all the indices are dropped (even if they don't exist). |
void |
dropIndicesOnUniqueKeysOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Execute the SQL drop index string on the database. Exceptions are caught and masked so that all the indices are dropped (even if they don't exist). |
void |
dropObject(org.eclipse.persistence.internal.sessions.AbstractSession session,
Writer schemaWriter,
boolean createSQLFiles)
INTERNAL:
Execute the DDL to drop the table.
|
String |
getCreationPrefix()
INTERNAL:
Return the beginning of the sql create statement - the part before the name.
|
String |
getCreationSuffix()
INTERNAL:
Return the end of the sql create statement - the part after the field list.
|
Vector<FieldDefinition> |
getFields()
PUBLIC:
|
Vector<ForeignKeyConstraint> |
getForeignKeys()
PUBLIC:
Returns the ForeignKeyConstraint list.
|
Vector<String> |
getPrimaryKeyFieldNames()
PUBLIC:
|
Vector<UniqueKeyConstraint> |
getUniqueKeys()
PUBLIC:
|
void |
postCreateObject(org.eclipse.persistence.internal.sessions.AbstractSession session,
Writer createSchemaWriter,
boolean createSQLFiles)
Execute any statements required after the creation of the object
|
void |
setCreateSQLFiles(boolean genFlag)
PUBLIC:
|
void |
setCreationPrefix(String creationPrefix)
INTERNAL:
Set the beginning of the sql create statement - the part before the name.
|
void |
setCreationSuffix(String creationSuffix)
INTERNAL:
Set the end of the sql create statement - the part after the field list.
|
void |
setFields(Vector<FieldDefinition> fields)
PUBLIC:
|
void |
setForeignKeys(Vector<ForeignKeyConstraint> foreignKeys)
PUBLIC:
Set the ForeignKeyConstraint list.
|
void |
setUniqueKeys(Vector<UniqueKeyConstraint> uniqueKeys)
PUBLIC:
|
createObject, getFullName, getName, getQualifier, setName, setQualifier, toStringpublic void addField(String fieldName, Class type)
type - is the Java class type corresponding to the database type.public void addField(String fieldName, Class type, int fieldSize)
type - is the Java class type corresponding to the database type.public void addField(String fieldName, Class type, int fieldSize, int fieldSubSize)
type - is the Java class type corresponding to the database type.public void addField(String fieldName, String typeName)
typeName - is the name of the nested type.public void addField(FieldDefinition field)
public void addForeignKeyConstraint(String name, String sourceField, String targetField, String targetTable)
public void addUniqueKeyConstraint(String name, String sourceField)
public void addUniqueKeyConstraint(String name, String[] sourceFields)
public void addForeignKeyConstraint(ForeignKeyConstraint foreignKey)
public void addUniqueKeyConstraint(UniqueKeyConstraint uniqueKey)
public void addIdentityField(String fieldName, Class type)
type - is the Java class type corresponding to the database type.public void addIdentityField(String fieldName, Class type, int fieldSize)
type - is the Java class type corresponding to the database type.public void addPrimaryKeyField(String fieldName, Class type)
type - is the Java class type corresponding to the database type.public void addPrimaryKeyField(String fieldName, Class type, int fieldSize)
type - is the Java class type corresponding to the database type.public Writer buildConstraintCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, ForeignKeyConstraint foreignKey, Writer writer) throws ValidationException
ValidationExceptionpublic Writer buildConstraintDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, ForeignKeyConstraint foreignKey, Writer writer) throws ValidationException
ValidationExceptionpublic Writer buildUniqueConstraintCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, UniqueKeyConstraint uniqueKey, Writer writer) throws ValidationException
ValidationExceptionpublic Writer buildUniqueConstraintDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, UniqueKeyConstraint uniqueKey, Writer writer) throws ValidationException
ValidationExceptionpublic Writer buildIndexCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, String key, List<String> columnNames, Writer writer) throws ValidationException
ValidationExceptionpublic Writer buildIndexDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, String key, Writer writer) throws ValidationException
ValidationExceptionpublic String getCreationPrefix()
public void setCreationPrefix(String creationPrefix)
public String getCreationSuffix()
public void setCreationSuffix(String creationSuffix)
public Writer buildCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer) throws ValidationException
buildCreationWriter in class DatabaseObjectDefinitionValidationExceptionpublic Writer buildDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, Writer writer) throws ValidationException
buildDeletionWriter in class DatabaseObjectDefinitionValidationExceptionpublic Object clone()
clone in class DatabaseObjectDefinitionpublic void createConstraints(org.eclipse.persistence.internal.sessions.AbstractSession session,
Writer schemaWriter)
throws EclipseLinkException
EclipseLinkExceptionpublic void createConstraintsOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session)
throws EclipseLinkException
EclipseLinkExceptionpublic void createIndexOnPrimaryKey(org.eclipse.persistence.internal.sessions.AbstractSession session,
Writer schemaWriter)
ValidationException - wraps any IOException from the writercreateIndexOnPrimaryKeyOnDatabase(AbstractSession)public void createIndicesOnUniqueKeys(org.eclipse.persistence.internal.sessions.AbstractSession session,
Writer schemaWriter)
throws EclipseLinkException
ValidationException - wraps any IOException from the writerEclipseLinkExceptioncreateIndicesOnUniqueKeysOnDatabase(AbstractSession)public void createIndexOnPrimaryKeyOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session)
public void createIndicesOnUniqueKeysOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session)
public void createOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session)
throws EclipseLinkException
createOnDatabase in class DatabaseObjectDefinitionEclipseLinkExceptionpublic String deletionStringFor(org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor accessor)
public void dropConstraints(org.eclipse.persistence.internal.sessions.AbstractSession session,
Writer schemaWriter)
throws EclipseLinkException
EclipseLinkExceptionpublic void dropConstraintsOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session)
throws EclipseLinkException
EclipseLinkExceptionpublic void dropFromDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session)
throws EclipseLinkException
dropFromDatabase in class DatabaseObjectDefinitionEclipseLinkExceptionpublic void dropIndexOnPrimaryKey(org.eclipse.persistence.internal.sessions.AbstractSession session,
Writer schemaWriter)
throws EclipseLinkException
ValidationException - wraps any IOException from the writerEclipseLinkExceptiondropIndexOnPrimaryKeyOnDatabase(AbstractSession)public void dropIndicesOnUniqueKeys(org.eclipse.persistence.internal.sessions.AbstractSession session,
Writer schemaWriter)
throws EclipseLinkException
EclipseLinkExceptionpublic void dropIndexOnPrimaryKeyOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session)
throws EclipseLinkException
EclipseLinkExceptionpublic void dropIndicesOnUniqueKeysOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session)
throws EclipseLinkException
EclipseLinkExceptionpublic void dropObject(org.eclipse.persistence.internal.sessions.AbstractSession session,
Writer schemaWriter,
boolean createSQLFiles)
throws EclipseLinkException
dropObject in class DatabaseObjectDefinitionEclipseLinkExceptionpublic Vector<FieldDefinition> getFields()
public Vector<ForeignKeyConstraint> getForeignKeys()
public Vector<UniqueKeyConstraint> getUniqueKeys()
public void postCreateObject(org.eclipse.persistence.internal.sessions.AbstractSession session,
Writer createSchemaWriter,
boolean createSQLFiles)
postCreateObject in class DatabaseObjectDefinitionsession - createSchemaWriter - public void setFields(Vector<FieldDefinition> fields)
public void setForeignKeys(Vector<ForeignKeyConstraint> foreignKeys)
public void setUniqueKeys(Vector<UniqueKeyConstraint> uniqueKeys)
public void setCreateSQLFiles(boolean genFlag)