|
EclipseLink 2.0.0, build 'v20091127-r5931' API Reference | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.persistence.tools.schemaframework.DatabaseObjectDefinition org.eclipse.persistence.tools.schemaframework.TableDefinition
public class TableDefinition
Purpose: Allow a generic way of creating tables on the different platforms.
Field Summary | |
---|---|
protected java.lang.String |
creationPrefix
|
protected java.lang.String |
creationSuffix
|
protected java.util.Vector<FieldDefinition> |
fields
|
protected java.util.HashMap<java.lang.String,ForeignKeyConstraint> |
foreignKeyMap
|
protected java.util.Vector<UniqueKeyConstraint> |
uniqueKeys
|
Fields inherited from class org.eclipse.persistence.tools.schemaframework.DatabaseObjectDefinition |
---|
name, qualifier |
Constructor Summary | |
---|---|
TableDefinition()
|
Method Summary | |
---|---|
void |
addField(FieldDefinition field)
PUBLIC: Add the field to the table. |
void |
addField(java.lang.String fieldName,
java.lang.Class type)
PUBLIC: Add the field to the table, default sizes are used. |
void |
addField(java.lang.String fieldName,
java.lang.Class type,
int fieldSize)
PUBLIC: Add the field to the table. |
void |
addField(java.lang.String fieldName,
java.lang.Class type,
int fieldSize,
int fieldSubSize)
PUBLIC: Add the field to the table. |
void |
addField(java.lang.String fieldName,
java.lang.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(java.lang.String name,
java.lang.String sourceField,
java.lang.String targetField,
java.lang.String targetTable)
PUBLIC: Add a foreign key constraint to the table. |
void |
addIdentityField(java.lang.String fieldName,
java.lang.Class type)
PUBLIC: Add the field to the table, default sizes are used. |
void |
addIdentityField(java.lang.String fieldName,
java.lang.Class type,
int fieldSize)
PUBLIC: Add the field to the table, default sizes are used. |
void |
addPrimaryKeyField(java.lang.String fieldName,
java.lang.Class type)
PUBLIC: Add the field to the table, default sizes are used. |
void |
addPrimaryKeyField(java.lang.String fieldName,
java.lang.Class type,
int fieldSize)
PUBLIC: Add the field to the table, default sizes are used. |
void |
addUniqueKeyConstraint(java.lang.String name,
java.lang.String sourceField)
PUBLIC: Add a unique key constraint to the table. |
void |
addUniqueKeyConstraint(java.lang.String name,
java.lang.String[] sourceFields)
PUBLIC: Add a unique key constraint to the table. |
void |
addUniqueKeyConstraint(UniqueKeyConstraint uniqueKey)
PUBLIC: Add a unique key constraint to the table. |
java.io.Writer |
buildConstraintCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session,
ForeignKeyConstraint foreignKey,
java.io.Writer writer)
INTERNAL: Return the alter table statement to add the constraints. |
java.io.Writer |
buildConstraintDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session,
ForeignKeyConstraint foreignKey,
java.io.Writer writer)
INTERNAL: Return the alter table statement to drop the constraints. |
java.io.Writer |
buildCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session,
java.io.Writer writer)
INTERNAL: Return the create table statement. |
java.io.Writer |
buildDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session,
java.io.Writer writer)
INTERNAL: Return the drop table statement. |
protected void |
buildFieldTypes(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Build the foreign key constraints. |
protected ForeignKeyConstraint |
buildForeignKeyConstraint(FieldDefinition field,
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform platform)
Build a foreign key constraint using FieldDefinition.getForeignKeyFieldName(). |
protected ForeignKeyConstraint |
buildForeignKeyConstraint(java.util.Vector fkFieldNames,
java.util.Vector pkFieldNames,
TableDefinition targetTable,
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform platform)
Build a foreign key constraint. |
protected java.lang.String |
buildForeignKeyConstraintName(java.lang.String tableName,
java.lang.String fieldName,
int maximumNameLength,
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform platform)
Return foreign key constraint name built from the table and field name with the specified maximum length. |
java.io.Writer |
buildIndexCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session,
java.lang.String key,
java.util.List<java.lang.String> columnNames,
java.io.Writer writer)
INTERNAL: Return the index creation statement. |
java.io.Writer |
buildIndexDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session,
java.lang.String key,
java.io.Writer writer)
INTERNAL: Return the index drop statement. |
protected java.lang.String |
buildIndexName(java.lang.String tableName,
java.lang.String key,
int maximumNameLength,
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform platform)
Return key constraint name built from the table and key name with the specified maximum length. |
java.io.Writer |
buildUniqueConstraintCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session,
UniqueKeyConstraint uniqueKey,
java.io.Writer writer)
INTERNAL: Return the alter table statement to add the constraints. |
java.io.Writer |
buildUniqueConstraintDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session,
UniqueKeyConstraint uniqueKey,
java.io.Writer writer)
INTERNAL: Return the alter table statement to drop the constraints. |
protected UniqueKeyConstraint |
buildUniqueKeyConstraint(java.lang.String name,
java.util.List<java.lang.String> fieldNames,
int serialNumber,
org.eclipse.persistence.internal.databaseaccess.DatabasePlatform platform)
|
protected java.lang.String |
buildUniqueKeyConstraintName(java.lang.String tableName,
int serialNumber,
int maximumNameLength)
Return unique key constraint name built from the table name and sequence number with the specified maximum length. |
java.lang.Object |
clone()
PUBLIC: Performs a deep copy of this table definition. |
void |
createConstraints(org.eclipse.persistence.internal.sessions.AbstractSession session,
java.io.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,
java.io.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,
java.io.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. |
java.lang.String |
deletionStringFor(org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor accessor)
INTERNAL: Return the delete SQL string. |
void |
dropConstraints(org.eclipse.persistence.internal.sessions.AbstractSession session,
java.io.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,
java.io.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. |
void |
dropIndicesOnUniqueKeys(org.eclipse.persistence.internal.sessions.AbstractSession session,
java.io.Writer schemaWriter)
INTERNAL: Execute the SQL drop index string to drop indices. |
void |
dropIndicesOnUniqueKeysOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Execute the SQL drop index string on the database. |
void |
dropObject(org.eclipse.persistence.internal.sessions.AbstractSession session,
java.io.Writer schemaWriter,
boolean createSQLFiles)
INTERNAL: Execute the DDL to drop the table. |
java.lang.String |
getCreationPrefix()
INTERNAL: Return the beginning of the sql create statement - the part before the name. |
java.lang.String |
getCreationSuffix()
INTERNAL: Return the end of the sql create statement - the part after the field list. |
java.util.Vector<FieldDefinition> |
getFields()
PUBLIC: |
java.util.Vector<ForeignKeyConstraint> |
getForeignKeys()
PUBLIC: Returns the ForeignKeyConstraint list. |
java.util.Vector<java.lang.String> |
getPrimaryKeyFieldNames()
PUBLIC: |
java.util.Vector<UniqueKeyConstraint> |
getUniqueKeys()
PUBLIC: |
void |
postCreateObject(org.eclipse.persistence.internal.sessions.AbstractSession session,
java.io.Writer createSchemaWriter,
boolean createSQLFiles)
Execute any statements required after the creation of the object |
void |
setCreateSQLFiles(boolean genFlag)
PUBLIC: |
void |
setCreationPrefix(java.lang.String creationPrefix)
INTERNAL: Set the beginning of the sql create statement - the part before the name. |
void |
setCreationSuffix(java.lang.String creationSuffix)
INTERNAL: Set the end of the sql create statement - the part after the field list. |
void |
setFields(java.util.Vector<FieldDefinition> fields)
PUBLIC: |
void |
setForeignKeys(java.util.Vector<ForeignKeyConstraint> foreignKeys)
PUBLIC: Set the ForeignKeyConstraint list. |
void |
setUniqueKeys(java.util.Vector<UniqueKeyConstraint> uniqueKeys)
PUBLIC: |
Methods inherited from class org.eclipse.persistence.tools.schemaframework.DatabaseObjectDefinition |
---|
createObject, getFullName, getName, getQualifier, setName, setQualifier, toString |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected java.util.Vector<FieldDefinition> fields
protected java.util.HashMap<java.lang.String,ForeignKeyConstraint> foreignKeyMap
protected java.util.Vector<UniqueKeyConstraint> uniqueKeys
protected java.lang.String creationPrefix
protected java.lang.String creationSuffix
Constructor Detail |
---|
public TableDefinition()
Method Detail |
---|
public void addField(java.lang.String fieldName, java.lang.Class type)
type
- is the Java class type corresponding to the database type.public void addField(java.lang.String fieldName, java.lang.Class type, int fieldSize)
type
- is the Java class type corresponding to the database type.public void addField(java.lang.String fieldName, java.lang.Class type, int fieldSize, int fieldSubSize)
type
- is the Java class type corresponding to the database type.public void addField(java.lang.String fieldName, java.lang.String typeName)
typeName
- is the name of the nested type.public void addField(FieldDefinition field)
public void addForeignKeyConstraint(java.lang.String name, java.lang.String sourceField, java.lang.String targetField, java.lang.String targetTable)
public void addUniqueKeyConstraint(java.lang.String name, java.lang.String sourceField)
public void addUniqueKeyConstraint(java.lang.String name, java.lang.String[] sourceFields)
public void addForeignKeyConstraint(ForeignKeyConstraint foreignKey)
public void addUniqueKeyConstraint(UniqueKeyConstraint uniqueKey)
public void addIdentityField(java.lang.String fieldName, java.lang.Class type)
type
- is the Java class type corresponding to the database type.public void addIdentityField(java.lang.String fieldName, java.lang.Class type, int fieldSize)
type
- is the Java class type corresponding to the database type.public void addPrimaryKeyField(java.lang.String fieldName, java.lang.Class type)
type
- is the Java class type corresponding to the database type.public void addPrimaryKeyField(java.lang.String fieldName, java.lang.Class type, int fieldSize)
type
- is the Java class type corresponding to the database type.public java.io.Writer buildConstraintCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, ForeignKeyConstraint foreignKey, java.io.Writer writer) throws ValidationException
ValidationException
public java.io.Writer buildConstraintDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, ForeignKeyConstraint foreignKey, java.io.Writer writer) throws ValidationException
ValidationException
public java.io.Writer buildUniqueConstraintCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, UniqueKeyConstraint uniqueKey, java.io.Writer writer) throws ValidationException
ValidationException
public java.io.Writer buildUniqueConstraintDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, UniqueKeyConstraint uniqueKey, java.io.Writer writer) throws ValidationException
ValidationException
public java.io.Writer buildIndexCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, java.lang.String key, java.util.List<java.lang.String> columnNames, java.io.Writer writer) throws ValidationException
ValidationException
public java.io.Writer buildIndexDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, java.lang.String key, java.io.Writer writer) throws ValidationException
ValidationException
public java.lang.String getCreationPrefix()
public void setCreationPrefix(java.lang.String creationPrefix)
public java.lang.String getCreationSuffix()
public void setCreationSuffix(java.lang.String creationSuffix)
public java.io.Writer buildCreationWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, java.io.Writer writer) throws ValidationException
buildCreationWriter
in class DatabaseObjectDefinition
ValidationException
public java.io.Writer buildDeletionWriter(org.eclipse.persistence.internal.sessions.AbstractSession session, java.io.Writer writer) throws ValidationException
buildDeletionWriter
in class DatabaseObjectDefinition
ValidationException
protected void buildFieldTypes(org.eclipse.persistence.internal.sessions.AbstractSession session)
protected ForeignKeyConstraint buildForeignKeyConstraint(FieldDefinition field, org.eclipse.persistence.internal.databaseaccess.DatabasePlatform platform)
protected ForeignKeyConstraint buildForeignKeyConstraint(java.util.Vector fkFieldNames, java.util.Vector pkFieldNames, TableDefinition targetTable, org.eclipse.persistence.internal.databaseaccess.DatabasePlatform platform)
protected java.lang.String buildForeignKeyConstraintName(java.lang.String tableName, java.lang.String fieldName, int maximumNameLength, org.eclipse.persistence.internal.databaseaccess.DatabasePlatform platform)
protected UniqueKeyConstraint buildUniqueKeyConstraint(java.lang.String name, java.util.List<java.lang.String> fieldNames, int serialNumber, org.eclipse.persistence.internal.databaseaccess.DatabasePlatform platform)
protected java.lang.String buildUniqueKeyConstraintName(java.lang.String tableName, int serialNumber, int maximumNameLength)
protected java.lang.String buildIndexName(java.lang.String tableName, java.lang.String key, int maximumNameLength, org.eclipse.persistence.internal.databaseaccess.DatabasePlatform platform)
1. Drop the "IX_" 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.
public java.lang.Object clone()
clone
in class DatabaseObjectDefinition
public void createConstraints(org.eclipse.persistence.internal.sessions.AbstractSession session, java.io.Writer schemaWriter) throws EclipseLinkException
EclipseLinkException
public void createConstraintsOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session) throws EclipseLinkException
EclipseLinkException
public void createIndexOnPrimaryKey(org.eclipse.persistence.internal.sessions.AbstractSession session, java.io.Writer schemaWriter)
ValidationException
- wraps any IOException from the writercreateIndexOnPrimaryKeyOnDatabase(AbstractSession)
public void createIndicesOnUniqueKeys(org.eclipse.persistence.internal.sessions.AbstractSession session, java.io.Writer schemaWriter) throws EclipseLinkException
ValidationException
- wraps any IOException from the writer
EclipseLinkException
createIndicesOnUniqueKeysOnDatabase(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 DatabaseObjectDefinition
EclipseLinkException
public java.lang.String deletionStringFor(org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor accessor)
public void dropConstraints(org.eclipse.persistence.internal.sessions.AbstractSession session, java.io.Writer schemaWriter) throws EclipseLinkException
EclipseLinkException
public void dropConstraintsOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session) throws EclipseLinkException
EclipseLinkException
public void dropFromDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session) throws EclipseLinkException
dropFromDatabase
in class DatabaseObjectDefinition
EclipseLinkException
public void dropIndexOnPrimaryKey(org.eclipse.persistence.internal.sessions.AbstractSession session, java.io.Writer schemaWriter) throws EclipseLinkException
ValidationException
- wraps any IOException from the writer
EclipseLinkException
dropIndexOnPrimaryKeyOnDatabase(AbstractSession)
public void dropIndicesOnUniqueKeys(org.eclipse.persistence.internal.sessions.AbstractSession session, java.io.Writer schemaWriter) throws EclipseLinkException
EclipseLinkException
public void dropIndexOnPrimaryKeyOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session) throws EclipseLinkException
EclipseLinkException
public void dropIndicesOnUniqueKeysOnDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session) throws EclipseLinkException
EclipseLinkException
public void dropObject(org.eclipse.persistence.internal.sessions.AbstractSession session, java.io.Writer schemaWriter, boolean createSQLFiles) throws EclipseLinkException
dropObject
in class DatabaseObjectDefinition
EclipseLinkException
public java.util.Vector<FieldDefinition> getFields()
public java.util.Vector<ForeignKeyConstraint> getForeignKeys()
public java.util.Vector<UniqueKeyConstraint> getUniqueKeys()
public java.util.Vector<java.lang.String> getPrimaryKeyFieldNames()
public void postCreateObject(org.eclipse.persistence.internal.sessions.AbstractSession session, java.io.Writer createSchemaWriter, boolean createSQLFiles)
postCreateObject
in class DatabaseObjectDefinition
session
- createSchemaWriter
- public void setFields(java.util.Vector<FieldDefinition> fields)
public void setForeignKeys(java.util.Vector<ForeignKeyConstraint> foreignKeys)
public void setUniqueKeys(java.util.Vector<UniqueKeyConstraint> uniqueKeys)
public void setCreateSQLFiles(boolean genFlag)
|
EclipseLink 2.0.0, build 'v20091127-r5931' API Reference | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |