Documentation Archive Developer
Search
PATH  Documentation > WebObjects 4.5 > EOControl Reference

Table of Contents

EODelayedObserver


Inherits from:
NSObject
Conforms to:
EODelayedObserving
NSObject (NSObject)
Declared in:
EOControl/EOObserver.h




Class Description


The EODelayedObserver class is a part of EOControl's change tracking mechanism. It is an abstract superclass that defines the basic functionality for coalescing change notifications for multiple objects and postponing notification according to a prioritized queue. For an overview of the general change tracking mechanism, see "Tracking Enterprise Objects Changes" in the introduction to the EOControl Framework.

EODelayedObserver is primarily used to implement the interface layer's associations and wouldn't ordinarily be used outside the scope of a Java Client or Application Kit application (not in a command line tool or WebObjects application, for example). See the EODelayedObserverQueue class specification for general information.

You would never create an instance of EODelayedObserver. Instead, you use subclasses-typically EOAssociations (EOInterface). For information on creating your own EODelayedObserver subclass, see "Creating a Subclass of EODelayedObserver" .




Constants


In EOObserver.h, EOControl defines the enumeration type EOObserverPriority to represent the priority of a notification in the queue. The EOObserverPriority type's constants are:


EOObserverPriorityImmediate EOObserverPriorityFourth
EOObserverPriorityFirst EOObserverPriorityFifth
EOObserverPrioritySecond EOObserverPrioritySixth
EOObserverPriorityThird EOObserverPriorityLater

EOObserver.h also defines the following int constant to identify the number of defined priorities (8 by default).



Adopted Protocols


EOObserving
- objectWillChange:


Method Types


Change notification
- subjectChanged
Canceling change notification
- discardPendingNotification
Getting the queue and priority
- observerQueue
- priority


Instance Methods



discardPendingNotification

- (void)discardPendingNotification

Sends a dequeueObserver: message to the receiver's EODelayedObserverQueue to clear it from receiving a change notification. A subclass of EODelayedObserver should invoke this method in its implementation of dealloc.

See Also: - observerQueue



objectWillChange:

- (void)objectWillChange:(id)anObject

Implemented by EODelayedObserver to enqueue the receiver on its EODelayedObserverQueue. Subclasses shouldn't need to override this method; if they do, they must be sure to invoke super's implementation.

See Also: - observerQueue, - enqueueObserver: (EODelayedObserverQueue), objectWillChange: (EOObserving)



observerQueue

- (EODelayedObserverQueue *)observerQueue

Overridden by subclasses to return the receiver's designated EODelayedObserverQueue. EODelayedObserver's implementation returns the default EODelayedObserverQueue.

See Also: defaultObserverQueue (EODelayedObserverQueue)



priority

- (EOObserverPriority)priority

Overridden by subclasses to return the receiver's change notification priority, one of:

EODelayedObserver's implementation returns EOObserverPriorityThird. See the EODelayedObserverQueue class specification for more information on priorities.



subjectChanged

- (void)subjectChanged

Implemented by subclasses to examine the receiver's observed objects and take whatever action is necessary. EODelayedObserver's implementation does nothing.


Table of Contents