ERXEntityDependencyOrderingDelegate Class Reference

Collaboration diagram for ERXEntityDependencyOrderingDelegate:

Collaboration graph
[legend]

List of all members.

Public Member Functions

boolean databaseContextShouldHandleDatabaseException (EODatabaseContext dbCtxt, Throwable exception)
NSArray databaseContextWillPerformAdaptorOperations (EODatabaseContext aDatabaseContext, NSArray adaptorOperations, EOAdaptorChannel adaptorChannel)
 ERXEntityDependencyOrderingDelegate ()

Static Public Attributes

static final String ERXEntityDependencyOrderingDelegateActiveKey = "com.webobjects.eoaccess.ERXEntityDependencyOrderingDelegate.active"

Protected Member Functions

NSComparator adaptorOpComparator ()

Protected Attributes

NSComparator adaptorOpComparator

Static Private Attributes

static Logger logger = Logger.getLogger(ERXEntityDependencyOrderingDelegate.class)


Detailed Description

EODatabaseContext delegate to order adaptor operations by FK constraints. This prevents most ordering operations on databases like MS SQL that do not support deferred constraints like a real database. The easiest way to use this is:
 ERXDatabaseContextMulticastingDelegate.addDefaultDelegate(new ERXEntityDependencyOrderingDelegate());
 
To turn this on for a Wonder application, just set this property:
 com.webobjects.eoaccess.ERXEntityDependencyOrderingDelegate.active = true
 

Author:
chill

Constructor & Destructor Documentation


Member Function Documentation

NSComparator adaptorOpComparator (  )  [protected]

Lazy creation of an EOAdaptorOpComparator that uses a list of entities that are in FK dependancy order. Enable DEBUG logging to see the ordered list of entity names.

See also:
com.webobjects.eoaccess.EOAdaptorOpComparator
Returns:
EOAdaptorOpComparator that uses a list of entities that are in FK dependancy order

boolean databaseContextShouldHandleDatabaseException ( EODatabaseContext  dbCtxt,
Throwable  exception 
)

NSArray databaseContextWillPerformAdaptorOperations ( EODatabaseContext  aDatabaseContext,
NSArray  adaptorOperations,
EOAdaptorChannel  adaptorChannel 
)

EODatabaseContext.Delegate method to order a list of adaptor operations. Uses adaptorOpComparator() for the ordering.

Parameters:
aDatabaseContext EODatabaseContext that the operations will be executed in
adaptorOperations list of operations to execute
adaptorChannel the adaptor channel these will be executed on
See also:
com.webobjects.eoaccess.EODatabaseContext.Delegate.databaseContextWillPerformAdaptorOperations(EODatabaseContext, NSArray,EOAdaptorChannel)
Returns:
operations in an order that should avoid FK constraint violations


Member Data Documentation

NSComparator adaptorOpComparator [protected]

final String ERXEntityDependencyOrderingDelegateActiveKey = "com.webobjects.eoaccess.ERXEntityDependencyOrderingDelegate.active" [static]

Logger logger = Logger.getLogger(ERXEntityDependencyOrderingDelegate.class) [static, private]


The documentation for this class was generated from the following file:

Generated on Sat May 26 06:42:32 2012 for Project Wonder by  doxygen 1.5.8