WebObjects 5.4.2

com.webobjects.jdbcadaptor
Class OraclePlugIn.OracleSynchronizationFactory

java.lang.Object
  extended by com.webobjects.eoaccess.synchronization.EOSchemaSynchronizationFactory
      extended by com.webobjects.jdbcadaptor.OraclePlugIn.OracleSynchronizationFactory
All Implemented Interfaces:
EOSchemaGeneration, EOSchemaSynchronization
Enclosing class:
OraclePlugIn

public static class OraclePlugIn.OracleSynchronizationFactory
extends EOSchemaSynchronizationFactory


Nested Class Summary
 
Nested classes/interfaces inherited from class com.webobjects.eoaccess.synchronization.EOSchemaSynchronizationFactory
EOSchemaSynchronizationFactory.Delegate
 
Nested classes/interfaces inherited from interface com.webobjects.eoaccess.synchronization.EOSchemaSynchronization
EOSchemaSynchronization.ColumnTypes
 
Constructor Summary
OraclePlugIn.OracleSynchronizationFactory(EOAdaptor adaptor)
           
 
Method Summary
 void appendExpressionToScript(EOSQLExpression expression, StringBuffer script)
          Appends expression's statement to script along with any necessary delimiter.
 NSArray createDatabaseStatementsForConnectionDictionary(NSDictionary connectionDictionary, NSDictionary administrativeConnectionDictionary)
          The default implementation returns null.
 NSArray dropDatabaseStatementsForConnectionDictionary(NSDictionary connectionDictionary, NSDictionary administrativeConnectionDictionary)
          The default implementation returns null.
 NSArray dropPrimaryKeySupportStatementsForEntityGroup(NSArray entityGroup)
          The default implementation returns null.
 NSArray dropTableStatementsForEntityGroup(NSArray entityGroup)
          Returns an array of EOSQLExpression objects that define the SQL necessary to drop the table identified by entityGroup.
 NSArray foreignKeyConstraintStatementsForRelationship(EORelationship relationship)
          Returns an array of EOSQLExpression objects that define the SQL statements necessary to create foreign key constraints for relationship.
 NSArray primaryKeySupportStatementsForEntityGroup(NSArray entityGroup)
          The default implementation returns null.
 boolean supportsSchemaSynchronization()
          The default implementation returns false.
 
Methods inherited from class com.webobjects.eoaccess.synchronization.EOSchemaSynchronizationFactory
adaptor, attributeInEntityWithColumnName, columnDescriptionForTableAndModel, createIndexExpressionsForEntity, createIndexStatementForEntity, createIndexStatementsForEntityGroup, createIndexStatementsForEntityGroups, createTableStatementsForEntityGroup, createTableStatementsForEntityGroups, dropIndexExpressionsForEntity, dropIndexStatementForEntity, dropIndexStatementsForEntityGroup, dropIndexStatementsForEntityGroups, dropPrimaryKeySupportStatementsForEntityGroups, dropTableStatementsForEntityGroups, formatColumnName, formatTableName, indexDefinitionForEntity, indexDescriptionForTableAndModel, isCaseSensitive, isColumnTypeEquivalentToColumnType, logicalErrorsInChangeDictionaryForModelOptions, newChanges, newOptions, objectStoreChangesFromAttributeToAttribute, phraseCastingColumnNamed, primaryKeyConstraintStatementsForEntityGroup, primaryKeyConstraintStatementsForEntityGroups, primaryKeyEntityGroupsForEntities, primaryKeySupportStatementsForEntityGroups, schemaCreationScriptForEntities, schemaCreationStatementsForEntities, schemaGenerationDelegate, schemaSynchronizationDelegate, setSchemaGenerationDelegate, setSchemaSynchronizationDelegate, statementsToConvertColumnType, statementsToCopyTableNamed, statementsToDeleteColumnNamed, statementsToDropForeignKeyConstraintsOnEntityGroup, statementsToDropForeignKeyConstraintsOnEntityGroups, statementsToDropPrimaryKeyConstraintsOnEntityGroups, statementsToDropPrimaryKeySupportForEntityGroups, statementsToImplementForeignKeyConstraintsOnEntityGroups, statementsToImplementPrimaryKeyConstraintsOnEntityGroups, statementsToImplementPrimaryKeySupportForEntityGroups, statementsToInsertColumnForAttribute, statementsToModifyColumnNullRule, statementsToRenameColumnNamed, statementsToRenameTableNamed, statementsToUpdateObjectStoreForEntityGroups, statementsToUpdateObjectStoreForModel, supportsDirectColumnCoercion, supportsDirectColumnDeletion, supportsDirectColumnInsertion, supportsDirectColumnNullRuleModification, supportsDirectColumnRenaming, supportsTableDescriptionIntrospection, tableDescriptionForModel, tableEntityGroupsForEntities
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OraclePlugIn.OracleSynchronizationFactory

public OraclePlugIn.OracleSynchronizationFactory(EOAdaptor adaptor)
Method Detail

dropTableStatementsForEntityGroup

public NSArray dropTableStatementsForEntityGroup(NSArray entityGroup)
Description copied from class: EOSchemaSynchronizationFactory
Returns an array of EOSQLExpression objects that define the SQL necessary to drop the table identified by entityGroup. Returns an empty array if entityGroup is null. The drop statement generated by this method should be sufficient to remove the table created by createTableStatementsForEntityGroup's statements.

This method creates a statement of the form:

             
                        DROP TABLE TABLE_NAME
 
 

where TABLE_NAME is the external name of the first entity in entityGroup.

If the database server's drop semantics are different, a subclass should override this method.

Specified by:
dropTableStatementsForEntityGroup in interface EOSchemaGeneration
Overrides:
dropTableStatementsForEntityGroup in class EOSchemaSynchronizationFactory
Parameters:
entityGroup - An array of EOEntity objects that have the same external name.
Returns:
An array of EOSQLExpressions that define the SQL necessary to drop tables for the entities in entityGroup, or an empty array.
See Also:
EOSchemaSynchronizationFactory.createTableStatementsForEntityGroup( NSArray entityGroup), EOEntity.externalName()

primaryKeySupportStatementsForEntityGroup

public NSArray primaryKeySupportStatementsForEntityGroup(NSArray entityGroup)
Description copied from class: EOSchemaSynchronizationFactory
The default implementation returns null. Can be overridden by subclasses to return an array of EOSQLExpression objects that define the SQL necessary to create the primary key generation support for entityGroup.

Specified by:
primaryKeySupportStatementsForEntityGroup in interface EOSchemaGeneration
Overrides:
primaryKeySupportStatementsForEntityGroup in class EOSchemaSynchronizationFactory
Parameters:
entityGroup - An array of EOEntity objects that have the same external name.
Returns:
null by default.
See Also:
EOSchemaSynchronizationFactory.dropPrimaryKeySupportStatementsForEntityGroup( NSArray entityGroup), EOAdaptorChannel.primaryKeyForNewRowWithEntity( EOEntity entity), EOEntity.externalName()

dropPrimaryKeySupportStatementsForEntityGroup

public NSArray dropPrimaryKeySupportStatementsForEntityGroup(NSArray entityGroup)
Description copied from class: EOSchemaSynchronizationFactory
The default implementation returns null. Can be overridden by subclasses to return an array of EOSQLExpression objects that define the SQL necessary to drop the primary key generation support for entityGroup.

Specified by:
dropPrimaryKeySupportStatementsForEntityGroup in interface EOSchemaGeneration
Overrides:
dropPrimaryKeySupportStatementsForEntityGroup in class EOSchemaSynchronizationFactory
Parameters:
entityGroup - An array of EOEntity objects that have the same external name.
Returns:
null by default.
See Also:
EOSchemaSynchronizationFactory.primaryKeySupportStatementsForEntityGroup( NSArray entityGroup), EOEntity.externalName()

appendExpressionToScript

public void appendExpressionToScript(EOSQLExpression expression,
                                     StringBuffer script)
Description copied from class: EOSchemaSynchronizationFactory
Appends expression's statement to script along with any necessary delimiter. script is the StringBuffer in which the SQL script is built. Used in conjunction with schemaCreationStatementsForEntities and schemaCreationScriptForEntities to build up the SQL script to generate the specified schema for a set of EOEntities.

This method appends the SQL statement for expression to script followed by a semicolon and a newline. A subclass of EOSQLExpression only need to override this method if the delimiter for its database server is different.

Specified by:
appendExpressionToScript in interface EOSchemaGeneration
Overrides:
appendExpressionToScript in class EOSchemaSynchronizationFactory
Parameters:
expression - An EOSQLExpression.
script - A StringBuffer used to build the SQL script.
See Also:
EOSchemaSynchronizationFactory.createTableStatementsForEntityGroup( NSArray entityGroup)

createDatabaseStatementsForConnectionDictionary

public NSArray createDatabaseStatementsForConnectionDictionary(NSDictionary connectionDictionary,
                                                               NSDictionary administrativeConnectionDictionary)
Description copied from class: EOSchemaSynchronizationFactory
The default implementation returns null. Can be overridden by subclasses to generate and return an array of EOSQLExpressions defining the SQL statements to create a database or user that can be accessed by the provided connectionDictionary and administrativeConnectionDictionary.

Specified by:
createDatabaseStatementsForConnectionDictionary in interface EOSchemaGeneration
Overrides:
createDatabaseStatementsForConnectionDictionary in class EOSchemaSynchronizationFactory
Parameters:
connectionDictionary - A dictionary of information needed by the adaptor to connect to the database server.
administrativeConnectionDictionary - A dictionary of administrative login information for the database server.
Returns:
null by default.
See Also:
EOSchemaSynchronizationFactory.dropDatabaseStatementsForConnectionDictionary( NSDictionary connectionDictionary, NSDictionary administrativeConnectionDictionary)

dropDatabaseStatementsForConnectionDictionary

public NSArray dropDatabaseStatementsForConnectionDictionary(NSDictionary connectionDictionary,
                                                             NSDictionary administrativeConnectionDictionary)
Description copied from class: EOSchemaSynchronizationFactory
The default implementation returns null. Can be overridden by subclasses to generate and return an array of EOSQLExpressions defining the SQL statements to drop a database or user that is accessed by the provided connectionDictionary and administrativeConnectionDictionary.

Specified by:
dropDatabaseStatementsForConnectionDictionary in interface EOSchemaGeneration
Overrides:
dropDatabaseStatementsForConnectionDictionary in class EOSchemaSynchronizationFactory
Parameters:
connectionDictionary - A dictionary of information needed by the adaptor to connect to the database server.
administrativeConnectionDictionary - A dictionary of administrative login information for the database server.
Returns:
null by default.
See Also:
EOSchemaSynchronizationFactory.createDatabaseStatementsForConnectionDictionary( NSDictionary connectionDictionary, NSDictionary administrativeConnectionDictionary)

supportsSchemaSynchronization

public boolean supportsSchemaSynchronization()
Description copied from class: EOSchemaSynchronizationFactory
The default implementation returns false. Can be overridden by subclasses to return true if the adaptor can update the database schema to reflect changes in an EOModel.

Specified by:
supportsSchemaSynchronization in interface EOSchemaSynchronization
Overrides:
supportsSchemaSynchronization in class EOSchemaSynchronizationFactory
Returns:
true if the adaptor can update the database schema.

foreignKeyConstraintStatementsForRelationship

public NSArray foreignKeyConstraintStatementsForRelationship(EORelationship relationship)
Description copied from interface: EOSchemaGeneration
Returns an array of EOSQLExpression objects that define the SQL statements necessary to create foreign key constraints for relationship. Returns an empty array if unable to generate foreign key constraints for relationship

Specified by:
foreignKeyConstraintStatementsForRelationship in interface EOSchemaGeneration
Overrides:
foreignKeyConstraintStatementsForRelationship in class EOSchemaSynchronizationFactory
Parameters:
relationship - An EORelationship.
Returns:
An array of EOSQLExpressions to create the foreign key constraints for relationship, or an empty array.
See Also:
EOSQLExpression, EOSchemaSynchronizationFactory.foreignKeyConstraintStatementsForRelationship(EORelationship relationship), #schemaCreationStatementsForEntities( NSArray allEntities, NSDictionary options)

Last updated June 2008

Copyright © 2000-2008 Apple Inc.