WebObjects 5.2.3

com.webobjects.jdbcadaptor
Class OraclePlugIn.OracleSynchronizationFactory

java.lang.Object
  extended bycom.webobjects.eoaccess.EOSynchronizationFactory
      extended bycom.webobjects.jdbcadaptor.OraclePlugIn.OracleSynchronizationFactory
All Implemented Interfaces:
EOSchemaGeneration, EOSchemaSynchronization
Enclosing class:
OraclePlugIn

public static class OraclePlugIn.OracleSynchronizationFactory
extends EOSynchronizationFactory


Nested Class Summary
 
Nested classes inherited from class com.webobjects.eoaccess.EOSynchronizationFactory
EOSynchronizationFactory.Delegate
 
Nested classes inherited from class com.webobjects.eoaccess.EOSchemaSynchronization
EOSchemaSynchronization.ColumnTypes
 
Field Summary
 
Fields inherited from interface com.webobjects.eoaccess.EOSchemaGeneration
CreateDatabaseKey, CreatePrimaryKeySupportKey, CreateTablesKey, DropDatabaseKey, DropPrimaryKeySupportKey, DropTablesKey, ForeignKeyConstraintsKey, PrimaryKeyConstraintsKey
 
Fields inherited from interface com.webobjects.eoaccess.EOSchemaSynchronization
AllowsNullKey, ColumnNameKey, ExternalNameKey, ExternalTypeKey, NameKey, PrecisionKey, RelationshipsKey, ScaleKey, SchemaSynchronizationForeignKeyConstraintsKey, SchemaSynchronizationPrimaryKeyConstraintsKey, SchemaSynchronizationPrimaryKeySupportKey, WidthKey
 
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.EOSynchronizationFactory
adaptor, createTableStatementsForEntityGroup, createTableStatementsForEntityGroups, dropPrimaryKeySupportStatementsForEntityGroups, dropTableStatementsForEntityGroups, isCaseSensitive, isColumnTypeEquivalentToColumnType, logicalErrorsInChangeDictionaryForModelOptions, objectStoreChangesFromAttributeToAttribute, phraseCastingColumnNamed, primaryKeyConstraintStatementsForEntityGroup, primaryKeyConstraintStatementsForEntityGroups, primaryKeyEntityGroupsForEntities, primaryKeySupportStatementsForEntityGroups, schemaCreationScriptForEntities, schemaCreationStatementsForEntities, schemaSynchronizationDelegate, setSchemaSynchronizationDelegate, statementsToConvertColumnType, statementsToCopyTableNamed, statementsToDeleteColumnNamed, statementsToDropForeignKeyConstraintsOnEntityGroups, statementsToDropPrimaryKeyConstraintsOnEntityGroups, statementsToDropPrimaryKeySupportForEntityGroups, statementsToImplementForeignKeyConstraintsOnEntityGroups, statementsToImplementPrimaryKeyConstraintsOnEntityGroups, statementsToImplementPrimaryKeySupportForEntityGroups, statementsToInsertColumnForAttribute, statementsToModifyColumnNullRule, statementsToRenameColumnNamed, statementsToRenameTableNamed, statementsToUpdateObjectStoreForEntityGroups, statementsToUpdateObjectStoreForModel, supportsDirectColumnCoercion, supportsDirectColumnDeletion, supportsDirectColumnInsertion, supportsDirectColumnNullRuleModification, supportsDirectColumnRenaming, 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

appendExpressionToScript

public void appendExpressionToScript(EOSQLExpression expression,
                                     StringBuffer script)
Description copied from class: EOSynchronizationFactory
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 EOSynchronizationFactory
Parameters:
expression - An EOSQLExpression.
script - A StringBuffer used to build the SQL script.
See Also:
EOSynchronizationFactory.createTableStatementsForEntityGroup( NSArray entityGroup)

createDatabaseStatementsForConnectionDictionary

public NSArray createDatabaseStatementsForConnectionDictionary(NSDictionary connectionDictionary,
                                                               NSDictionary administrativeConnectionDictionary)
Description copied from class: EOSynchronizationFactory
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 EOSynchronizationFactory
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:
EOSynchronizationFactory.dropDatabaseStatementsForConnectionDictionary( NSDictionary connectionDictionary, NSDictionary administrativeConnectionDictionary)

dropDatabaseStatementsForConnectionDictionary

public NSArray dropDatabaseStatementsForConnectionDictionary(NSDictionary connectionDictionary,
                                                             NSDictionary administrativeConnectionDictionary)
Description copied from class: EOSynchronizationFactory
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 EOSynchronizationFactory
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:
EOSynchronizationFactory.createDatabaseStatementsForConnectionDictionary( NSDictionary connectionDictionary, NSDictionary administrativeConnectionDictionary)

dropPrimaryKeySupportStatementsForEntityGroup

public NSArray dropPrimaryKeySupportStatementsForEntityGroup(NSArray entityGroup)
Description copied from class: EOSynchronizationFactory
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 EOSynchronizationFactory
Parameters:
entityGroup - An array of EOEntity objects that have the same external name.
Returns:
null by default.
See Also:
EOSynchronizationFactory.primaryKeySupportStatementsForEntityGroup( NSArray entityGroup), EOEntity.externalName()

dropTableStatementsForEntityGroup

public NSArray dropTableStatementsForEntityGroup(NSArray entityGroup)
Description copied from class: EOSynchronizationFactory
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 EOSynchronizationFactory
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:
EOSynchronizationFactory.createTableStatementsForEntityGroup( NSArray entityGroup), EOEntity.externalName()

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 EOSynchronizationFactory

primaryKeySupportStatementsForEntityGroup

public NSArray primaryKeySupportStatementsForEntityGroup(NSArray entityGroup)
Description copied from class: EOSynchronizationFactory
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 EOSynchronizationFactory
Parameters:
entityGroup - An array of EOEntity objects that have the same external name.
Returns:
null by default.
See Also:
EOSynchronizationFactory.dropPrimaryKeySupportStatementsForEntityGroup( NSArray entityGroup), EOAdaptorChannel.primaryKeyForNewRowWithEntity( EOEntity entity), EOEntity.externalName()

supportsSchemaSynchronization

public boolean supportsSchemaSynchronization()
Description copied from class: EOSynchronizationFactory
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 EOSynchronizationFactory
Returns:
true if the adaptor can update the database schema.

Last updated Thu Oct 21 15:04:16 PDT 2004.

Copyright © 2004 Apple Computer, Inc.