- Inherits from:
- (com.apple.client.eocontrol) EOObjectStore : Object
(com.apple.yellow.eocontrol) EOObjectStore : NSObject
- Implements:
- EOObserving
- (com.apple.client.eocontrol only) NSInlineObservable
- (com.apple.client.eocontrol only) NSDisposable
- Package:
- com.apple.client.eocontrol
- com.apple.yellow.eocontrol
An EOEditingContext object manages a graph of enterprise objects in an application; this object graph represents an internally consistent view of one or more external stores (most often a database).
objectsWithFetchSpecification | Fetches objects from an external store. |
insertObject | Registers a new object to be inserted into the parent EOObjectStore when changes are saved. |
deleteObject | Registers that an object should be removed from the parent EOObjectStore when changes are saved. |
lockObject | Attempts to lock an object in the external store. |
hasChanges | Returns true if any of the receiver has any pending changes to the parent EOObjectStore. |
saveChanges | Commits changes made in the receiver to the parent EOObjectStore. |
revert | Removes everything from the undo stack, discards all insertions and deletions, and restores updated objects to their original values. |
objectForGlobalID | Given a globalID, returns its associated object. |
globalIDForObject | Given an object, returns its globalID. |
setDelegate | Sets the receiver's delegate. |
parentObjectStore | Returns the receiver's parent EOObjectStore. |
rootObjectStore | Returns the receiver's root EOObjectStore. |
An EOEditingContext object represents a single "object space" or document in an application. Its primary responsibility is managing a graph of enterprise objects. This object graph is a group of related business objects that represent an internally consistent view of one or more external stores (usually a database).
All objects fetched from an external store are registered in an editing context along with a global identifier (EOGlobalID) that's used to uniquely identify each object to the external store. The editing context is responsible for watching for changes in its objects (using the EOObserving interface) and recording snapshots for object-based undo. A single enterprise object instance exists in one and only one editing context, but multiple copies of an object can exist in different editing contexts. Thus object uniquing is scoped to a particular editing context.
For more information on EOEditingContext, see the sections:
EOEditingContext defines the following int
constant
to specifies the order in which editing contexts perform end of
event processing in processRecentChanges.
Messages with lower order numbers are processed before messages with higher order numbers. In an application built with the Application Kit, the constant order value schedules the editing context to perform its processing before the undo stack group is closed or window display is updated.
EOEditingContext also defines String constants for the names of the notifications it posts. See the section "Notifications" for more information.
EOObserving
- objectWillChange
NSInlineObservable (com.apple.client.eocontrol only)
observerData
setObserverData
- Constructors
- EOEditingContext
- Fetching objects
- objectsWithFetchSpecification:
- Committing or discarding changes
- saveChanges
- refaultObjects
- refault
- refetch
- revert
- invalidateAllObjects
- Registering changes
- deleteObject
- insertObject
- insertObjectWithGlobalID
- objectWillChange
- processRecentChanges
- Checking changes
- deletedObjects
- insertedObjects
- updatedObjects
- hasChanges
- Object registration and snapshotting
- forgetObject
- recordObject
- committedSnapshotForObject
- currentEventSnapshotForObject
- objectForGlobalID
- globalIDForObject
- registeredObjects
- Timestamping snapshots
- defaultFetchTimestampLag (com.apple.yellow.eocontrol only)
- setDefaultFetchTimestampLag (com.apple.yellow.eocontrol only)
- fetchTimestamp (com.apple.yellow.eocontrol only)
- setFetchTimestamp (com.apple.yellow.eocontrol only)
- Locking objects
- lockObject
- lockObjectWithGlobalID
- isObjectLockedWithGlobalID
- setLocksObjectsBeforeFirstModification
- locksObjectsBeforeFirstModification
- Undoing operations
- redo
- undo
- setUndoManager
- undoManager
- Accessing the shared editing context
- sharedEditingContext (com.apple.yellow.eocontrol only)
- setSharedEditingContext (com.apple.yellow.eocontrol only)
- Deletion and Validation Behavior
- setPropagatesDeletesAtEndOfEvent
- propagatesDeletesAtEndOfEvent
- setStopsValidationAfterFirstError
- stopsValidationAfterFirstError
- Returning related object stores
- parentObjectStore
- rootObjectStore
- Managing editors
- editors
- addEditor
- removeEditor
- Setting the delegate
- setDelegate
- delegate
- Setting the message handler
- setMessageHandler
- messageHandler
- Invalidating objects
- setInvalidatesObjectsWhenFinalized
- invalidatesObjectsWhenFinalized
- Interacting with the server
- invokeRemoteMethod (com.apple.client.eocontrol only)
- Locking
- lock
- unlock
- Working with raw rows
- faultForRawRow
- Unarchiving from nib
- defaultParentObjectStore
- setDefaultParentObjectStore
- setSubstitutionEditingContext
- substitutionEditingContext
- Nested EOEditingContext support
- objectsWithFetchSpecification
- objectsForSourceGlobalID
- arrayFaultWithSourceGlobalID
- faultForGlobalID
- saveChangesInEditingContext
- refaultObject
- invalidateObjectsWithGlobalIDs
- initializeObject
- Archiving and unarchiving objects
- encodeObjectWithCoder (com.apple.yellow.eocontrol only)
- initObjectWithCoder (com.apple.yellow.eocontrol only)
- setUsesContextRelativeEncoding (com.apple.yellow.eocontrol only)
- usesContextRelativeEncoding (com.apple.yellow.eocontrol only)
public
EOEditingContext
()
public
EOEditingContext
(EOObjectStore anObjectStore)
See Also: parentObjectStore, defaultParentObjectStore
public static double
defaultFetchTimestampLag
()
public static EOObjectStore
defaultParentObjectStore
()
See Also: setDefaultParentObjectStore
public static void
encodeObjectWithCoder
(
Object object,
NSCoder encoder)
(com.apple.yellow.eocontrol only) Invoked by an enterprise object object to ask the EOEditingContext to encode object using encoder. For more discussion of this subject, see "Using EOEditingContext to Archive Custom Objects in Web Objects Framework".
See Also: initObjectWithCoder, setUsesContextRelativeEncoding, usesContextRelativeEncoding
public static Object
initObjectWithCoder
(
Object object,
NSCoder decoder)
(com.apple.yellow.eocontrol only) Invoked by an enterprise object object to ask the EOEditingContext to initialize object from data in decoder. For more discussion of this subject, see "Using EOEditingContext to Archive Custom Objects in Web Objects Framework".
See Also: encodeObjectWithCoder, setUsesContextRelativeEncoding, usesContextRelativeEncoding
instancesRetainRegisteredObjects
public static boolean
instancesRetainRegisteredObjects
()
public static void
setDefaultFetchTimestampLag
(double lag)
When a new editing context is initialized, it is assigned a fetch timestamp equal to the current time less the default timestamp lag. Setting the lag to a large number might cause every new editing context to accept very old cached data. Setting the lag to too low a value might degrade performance due to excessive fetching. A negative lag value is treated as 0.0.
public static void
setDefaultParentObjectStore
(EOObjectStore store)
A default parent object store is global until it is changed again. For more discussion of this topic, see the chapter "Application Configurations" in the Enterprise Objects Framework Developer's Guide.
See Also: defaultParentObjectStore
setInstancesRetainRegisteredObjects
public static void
setInstancesRetainRegisteredObjects
(boolean flag)
public static void
setSubstitutionEditingContext
(EOEditingContext anEditingContext)
A substitution editing context is global until it is changed again. For more discussion of this topic, see the chapter "Application Configurations" in the Enterprise Objects Framework Developer's Guide.
See Also: substitutionEditingContext
public static void
setUsesContextRelativeEncoding
(boolean flag)
(com.apple.yellow.eocontrol only) Sets according to flag whether encodeObjectWithCoder uses context-relative encoding. For more discussion of this subject, see "Using EOEditingContext to Archive Custom Objects in Web Objects Framework".
See Also: usesContextRelativeEncoding, encodeObjectWithCoder
public static EOEditingContext
substitutionEditingContext
()
See Also: setSubstitutionEditingContext
public static boolean
usesContextRelativeEncoding
()
(com.apple.yellow.eocontrol only) Returns true to indicate that encodeObjectWithCoder uses context relative encoding, false otherwise. For more discussion of this subject, see "Using EOEditingContext to Archive Custom Objects in Web Objects Framework".
See Also: setUsesContextRelativeEncoding
public void
addEditor
(Object editor)
See Also: removeEditor
public NSArray
arrayFaultWithSourceGlobalID
(
EOGlobalID globalID,
String name,
EOEditingContext anEditingContext)
When a parent EOEditingContext receives this on behalf of a child EOEditingContext and the EOGlobalID globalID identifies a newly inserted object in the parent, the parent returns a copy of its object's relationship array with the member objects translated into objects in the child EOEditingContext.
For more information on faults, see the EOObjectStore, EODatabaseContext (EOAccess), and EOFaultHandler class specifications.
See Also: faultForGlobalID
public NSDictionary
committedSnapshotForObject
(EOEnterpriseObject object)
Returns a dictionary containing a snapshot of object that reflects its committed values (that is, its values as they were last committed to the database). In other words, this snapshot represents the state of the object before any modifications were made to it. The snapshot is updated to the newest object state after a save.
See Also: currentEventSnapshotForObject
public NSDictionary
currentEventSnapshotForObject
(EOEnterpriseObject object)
Returns a dictionary containing a snapshot
of object that reflects its state
as it was at the beginning of the current event loop. After the
end of the current event-upon invocation of processRecentChanges
-this
snapshot is updated to hold the modified state of the object.
See Also: committedSnapshotForObject, processRecentChanges
public Object
delegate
()
See Also: setDelegate
public void
deleteObject
(EOEnterpriseObject object)
See Also: deletedObjects
public NSArray
deletedObjects
()
See Also: updatedObjects, insertedObjects
editingContextDidForgetObjectWithGlobalID
public void
editingContextDidForgetObjectWithGlobalID
(
EOEditingContext context,
EOGlobalID gid)
public NSArray
editors
()
See Also: addEditor, removeEditor
public EOEnterpriseObject
faultForGlobalID
(
EOGlobalID globalID,
EOEditingContext anEditingContext)
For example, suppose you
want the department object whose deptID
has
a particular value. The most efficient way to get it is to look
it up by its globalID using faultForGlobalID
.
If
the department object is already registered in the EOEditingContext, faultForGlobalID
returns
the object (without going to the database). If not, a fault for
this object is created, and the object is fetched only when you
trigger the fault.
In a nested editing context configuration,
when a parent EOEditingContext is sent faultForGlobalID
on behalf
of a child EOEditingContext and globalID identifies
a newly inserted object in the parent, the parent registers a copy
of the object in the child.
For more discussion of this method, see the section "Working with Objects Across Multiple EOEditingContexts". For more information on faults, see the EOObjectStore, EODatabaseContext (EOAccess), and EOFaultHandler class specifications.
See Also: arrayFaultWithSourceGlobalID
public EOEnterpriseObject
faultForRawRow
(
Object row,
String entityName)
Returns a fault for the raw row row by
invoking faultForRawRow with this
as
the editing context.
public double
fetchTimestamp
()
public void
forgetObject
(EOEnterpriseObject object)
public EOGlobalID
globalIDForObject
(EOEnterpriseObject object)
See Also: objectForGlobalID
public boolean
hasChanges
()
public void
initializeObject
(
EOEnterpriseObject object,
EOGlobalID globalID,
EOEditingContext anEditingContext)
public NSArray
insertedObjects
()
See Also: deletedObjects, updatedObjects
public void
insertObject
(EOEnterpriseObject object)
See Also: insertedObjects, deletedObjects, insertObjectWithGlobalID
public void
insertObjectWithGlobalID
(
EOEnterpriseObject anEOEnterpriseObject,
EOGlobalID anEOGlobalID)
It is an error to insert an object that's already registered in an editing context unless you are effectively undeleting the object by reinserting it.
See Also: insertObject
public void
invalidateAllObjects
()
invalidateObjectsWithGlobalIDs
to
the parent object store with the globalIDs of all of the objects
cached in the receiver. When an EOEditingContext receives this message,
it propagates the message down the object store hierarchy. EODatabaseContexts
discard their snapshots for invalidated objects and broadcast an ObjectsChangedInStoreNotification. (EODatabaseContext
is defined in EOAccess.)The final effect of this method is to refault all objects currently in memory. The next time you access one of these objects, it's refetched from the database.
To flush the entire application's cache of all values fetched from an external store, use a statement such as the following:
EOEditingContext.rootObjectStore().invalidateAllObjects();
If you just want to discard uncommitted changes but you don't want to sacrifice the values cached in memory, use the EOEditingContext revert method, which reverses all changes and clears the undo stack. For more discussion of this topic, see the section "Methods for Managing the Object Graph".
See Also: refetch, invalidateObjectsWithGlobalIDs
public void
invalidateObjectsWithGlobalIDs
(NSArray globalIDs)
See Also: invalidateAllObjects
public boolean
invalidatesObjectsWhenFinalized
()
Returns true to indicate that the receiver
clears and "booby-traps" all of the objects registered with
it when the receiver is finalized, false otherwise. The default
is true. In this method, "invalidate" has a different meaning
than it does in the other invalidate...
methods.
For more discussion of this topic, see the method description for setInvalidatesObjectsWhenFinalized.
public Object
invokeRemoteMethod
(
EOEditingContext editingContext,
EOGlobalID globalID,
String methodName,
Object[] objects)
public boolean
isObjectLockedWithGlobalID
(
EOGlobalID globalID,
EOEditingContext anEditingContext)
isObjectLockedWithGlobalID
to
its parent object store.See Also: lockObject, lockObjectWithGlobalID, locksObjectsBeforeFirstModification
public void
lock
()
Locks access to the receiver to prevent other threads from accessing it. If the receiver has a sharedEditingContext, the receiver takes a reader lock on it, as well. You should lock an editing context when you are accessing or modifying objects managed by the editing context. The thread-safety provided by Enterprise Objects Framework allows one thread to be active in each EOEditingContext and one thread to be active in each EODatabaseContext (EOAccess). In other words, multiple threads can access and modify objects concurrently in different editing contexts, but only one thread can access the database at a time (to save, fetch, or fault).
Using
the com.apple.yellow.eocontrol API, this method creates an NSAutoreleasePool
that is released when unlock
is called.
Consequently, objects that have been autoreleased within the scope
of a lock
/unlock
pair
may not be valid after the unlock
.
Similarly, when you catch exceptions, you need to retain the local exception before raising because the exception is in the lock's pool.
public void
lockObject
(EOEnterpriseObject anObject)
lockObjectWithGlobalID
.See Also: isObjectLockedWithGlobalID, locksObjectsBeforeFirstModification
public void
lockObjectWithGlobalID
(
EOGlobalID globalID,
EOEditingContext anEditingContext)
lockObjectWithGlobalID
to
its parent object store.See Also: lockObject, isObjectLockedWithGlobalID, locksObjectsBeforeFirstModification
public boolean
locksObjectsBeforeFirstModification
()
See Also: setLocksObjectsBeforeFirstModification, isObjectLockedWithGlobalID, lockObject, lockObjectWithGlobalID
public Object
messageHandler
()
See Also: setMessageHandler
public EOEnterpriseObject
objectForGlobalID
(EOGlobalID globalID)
See Also: globalIDForObject
public NSArray
objectsForSourceGlobalID
(
EOGlobalID globalID,
String name,
EOEditingContext anEditingContext)
objectsForSourceGlobalID
message
on behalf of a child editing context and globalID matches
an object instantiated in the parent, the parent returns a copy
of its relationship array and translates its objects into the child
editing context. This ensures that a child editing context "inherits"
modified values from its parent. If the receiving editing context
does not have the specified object or if the parent's relationship
property is still a fault, the request is fowarded to its parent
object store. public NSArray
objectsWithFetchSpecification
(EOFetchSpecification fetchSpecification)
public NSArray
objectsWithFetchSpecification
(
EOFetchSpecification fetchSpecification,
EOEditingContext anEditingContext)
Overrides the implementation inherited from EOObjectStore to fetch objects from an external store according to the criteria specified by fetchSpecification and return them in an array. If one of these objects is already present in memory, this method doesn't overwrite its values with the new values from the database. This method throws an exception if an error occurs; the error message indicates the nature of the problem.
When an EOEditingContext receives this message, it forwards the message to its root object store. Typically the root object store is an EOObjectStoreCoordinator with underlying EODatabaseContexts. In this case, the object store coordinator forwards the request to the appropriate database context based on the entity name in fetchSpecification. The database context then obtains an EODatabaseChannel and performs the fetch, registering all fetched objects in anEditingContext or in the receiver if anEditingContext isn't provided. (Note that EODatabaseContext and EODatabaseChannel are defined in EOAccess.)
public void
objectWillChange
(Object object)
public EOObjectStore
parentObjectStore
()
parentPath
public String
parentPath
()
public void
processRecentChanges
()
public boolean
propagatesDeletesAtEndOfEvent
()
See Also: setPropagatesDeletesAtEndOfEvent
public void
recordObject
(
EOEnterpriseObject object,
EOGlobalID globalID)
(com.apple.client.eocontrol) public void
redo
(Object sender)
(com.apple.yellow.eocontrol) public void
redo
()
Sends editingContextWillSaveChanges messages
to the receiver's editors,
and sends a redo
message to the receiver's
NSUndoManager, asking it to reverse the latest undo operation applied
to objects in the object graph.
See Also: undo
(com.apple.client.eocontrol) public void
refault
(Object sender)
(com.apple.yellow.eocontrol) public void
refault
()
Sends editingContextWillSaveChanges messages
to the receiver's editors,
and invokes refaultObjects
.
public void
refaultObject
(
EOEnterpriseObject anObject,
EOGlobalID globalID,
EOEditingContext anEditingContext)
Overrides the implementation inherited from EOObjectStore to refault the enterprise object object identified by globalID in anEditingContext. This method should be used with caution since refaulting an object does not remove the object snapshot from the undo stack. Objects that have been newly inserted or deleted should not be refaulted.
The main purpose of this method is to break reference cycles between enterprise objects. When you are using com.apple.yellow.eocontrol APIs to access Objective-C Enterprise Objects Framework classes across the Java Bridge, you have to take into consideration the way objects are deallocated on the Objective-C side. This means that you might still need to break reference cycles to help keep your application's memory in check. For example, suppose you have an Employee object that has a to-one relationship to its Department, and the Department object in turn has an array of Employee objects. You can use this method to break the reference cycle. Note that reference cycles are automatically broken if the EOEditingContext is finalized. For more discussion of this topic, see the section "Methods for Managing the Object Graph".
See Also: invalidateObjectsWithGlobalIDs
public void
refaultObjects
()
(com.apple.client.eocontrol) public void
refetch
(Object sender)
(com.apple.yellow.eocontrol) public void
refetch
()
public NSArray
registeredObjects
()
public void
removeEditor
(Object anObject)
See Also: addEditor
public void
reset
()
Forgets all objects and makes them unusable. If instancesRetainRegisteredObjects is true, an invocation of this method is necessary to get the editing context to release all of its registered objects. This method also resets the fetchTimestamp as if the editing context were just initialized.
public void
revert
()
(com.apple.client.eocontrol only) public void
revert
(Object sender)
Sends editingContextWillSaveChanges messages
to the receiver's editors,
and removes everything from the undo stack, discards all insertions
and deletions, and restores updated objects to their last committed
values. Does not refetch from the database. Note that revert
doesn't
automatically cause higher level display groups (WebObject's WODisplayGroups
or the interface layer's EODisplayGroups) to refetch. Display
groups that allow insertion and deletion of objects need to be explicitly
synchronized whenever this method is invoked on their EOEditingContext.
See Also: invalidateAllObjects
public EOObjectStore
rootObjectStore
()
public void
saveChanges
()
Sends editingContextWillSaveChanges messages to the receiver's editors, and commits changes made in the receiver to its parent EOObjectStore by sending it the message saveChangesInEditingContext. If the parent is an EOObjectStoreCoordinator, it guides its EOCooperatingObjectStores, typically EODatabaseContexts, through a multi-pass save operation (see the EOObjectStoreCoordinator class specification for more information). If a database error occurs, an exception is thrown. The error message indicates the nature of the problem.
(com.apple.client.eocontrol only) public void
saveChanges
(Object anObject)
public void
saveChangesInEditingContext
(EOEditingContext anEditingContext)
public void
setDelegate
(Object anObject)
See Also: delegate
public void
setFetchTimestamp
(double timestamp)
Note: Changing
the fetch timestamp has no effect on existing objects in the editing context;
it can affect only subsequent fetches. To refresh existing objects,
invoke refaultObjects before you invoke setFetchTimestamp: . |
The initial value for the fetch timestamp of a new
non-nested editing context is the current time less the defaultFetchTimestampLag
.
A nested editing context always uses its parent's fetch timestamp. setFetchTimestamp:
raises
if it's invoked on a nested editing context.
public void
setSharedEditingContext
(EOSharedEditingContext sharedEC)
public void
setInvalidatesObjectsWhenFinalized
(boolean flag)
Sets according to flag whether the receiver clears and "booby-traps" all of the objects registered with it when the receiver is finalized. If an editing context invalidates objects when it's finalized, it sends a clearProperties message to all of its objects, thereby breaking any reference cycles between objects that would prevent them from being finalized.
The default is true, and as a general rule, this setting must be true for enterprise objects with cyclic references to be finalized when their EOEditingContext is finalized.
Note that the word "invalidate" in
this method name has a different meaning than it does in the other invalidate...
methods,
which discard object values and refault them.
When you are using com.apple.yellow.eocontrol APIs to access Objective-C Enterprise Objects Framework classes, you have to take into consideration the way objects are deallocated on the Objective-C side of the Java Bridge. This means that you might still need to break reference cycles to help keep your application' the objects usage in check.
See Also: invalidatesObjectsWhenFinalized
public void
setLocksObjectsBeforeFirstModification
(boolean flag)
databaseContextShouldRaiseExceptionForLockFailure
.You should avoid using this method or pessimistic locking in an interactive end-user application. For example, a user might make a change in a text field and neglect to save it, thereby leaving the data locked in the server indefinitely. Consider using optimistic locking or application level explicit check-in/check-out instead.
See Also: locksObjectsBeforeFirstModification
public void
setMessageHandler
(Object handler)
See Also: messageHandler
public void
setPropagatesDeletesAtEndOfEvent
(boolean flag)
Sets according to flag whether the receiver propagates deletes at the end of the event in which a change was made, or only just before saving changes.
If flag is true, deleting an enterprise object triggers delete propagation at the end of the event in which the deletion occurred (this is the default behavior). If flag is false, delete propagation isn't performed until saveChanges is invoked.
You can delete enterprise objects explicitly by using the deleteObject method or implicitly by removing the enterprise object from an owning relationship. Delete propagation uses the delete rules in the EOClassDescription to determine whether objects related to the deleted object should also be deleted (for more information, see the EOClassDescription class specification and the EOEnterpriseObject interface informal protocol specification). If delete propagation fails (that is, if an enterprise object refuses to be deleted-possibly due to a deny rule), all changes made during the event are rolled back.
See Also: propagatesDeletesAtEndOfEvent
public void
setStopsValidationAfterFirstError
(boolean flag)
See Also: stopsValidationAfterFirstError
public void
setUndoManager
(NSUndoManager undoManager)
Sets the receiver's NSUndoManager to undoManager. You might invoke this method with null if your application doesn't need undo and you want to avoid the overhead of an undo stack. For more information on editing context's undo support, see the section "Undo and Redo".
See Also: undoManager
public EOSharedEditingContext
sharedEditingContext
()
public boolean
stopsValidationAfterFirstError
()
See Also: setStopsValidationAfterFirstError
(com.apple.client.eocontrol) public void
undo
(Object sender)
(com.apple.yellow.eocontrol) public void
undo
()
Sends editingContextWillSaveChanges messages to the receiver's editors, and sends an undo message to the receiver's NSUndoManager, asking it to reverse the latest uncommitted changes applied to objects in the object graph. For more information on editing context's undo support, see the section "Undo and Redo".
See Also: redo
public NSUndoManager
undoManager
()
Returns the receiver's NSUndoManager.
See Also: setUndoManager
public void
unlock
()
Unlocks access to the receiver so that other threads may access it. If the receiver has a sharedEditingContext, the receiver unlocks a reader lock on the shared context.
See Also: lock
public NSArray
updatedObjects
()
See Also: deletedObjects, insertedObjects
The following notifications are declared (except where otherwise noted) and posted by EOEditingContext.
public static final String EditingContextDidSaveChangesNotification
Key | Value |
EOObjectStore. UpdatedKey |
An NSArray containing the changed objects |
EOObjectStore. InsertedKey |
An NSArray containing the inserted objects |
EOObjectStore. DeletedKey |
An NSArray containing the deleted objects |
InvalidatedAllObjectsInStoreNotification
from
its parent EOObjectStore, it clears its lists of inserted, updated,
and deleted objects, and resets its undo stack. The notification
contains:Notification Object | The EOEditingContext |
userInfo Dictionary | None. |
An interface layer EODisplayGroup (not a WebObjects WODisplayGroup) listens for this notification to refetch its contents. See the EOObjectStore class specification for more information on this notification.
ObjectsChangedInStoreNotification
.This notification contains:
Key | Value |
EOObjectStore. UpdatedKey |
An NSArray of EOGlobalIDs for objects whose properties have changed. A receiving EOEditingContext typically responds by refaulting the objects. |
EOObjectStore. InsertedKey |
An NSArray of EOGlobalIDs for objects that have been inserted into the EOObjectStore. |
EOObjectStore. DeletedKey |
An NSArray of EOGlobalIDs for objects that have been deleted from the EOObjectStore. |
EOObjectStore. InvalidatedKey |
An NSArray of EOGlobalIDs for objects that have been turned into faults. Invalidated objects are those for which the cached view should no longer be trusted. Invalidated objects should be refaulted so that they are refetched when they're next examined. |
public static final String ObjectsChangedInEditingContextNotification
ObjectsChangedInStoreNotification
,
except that it contains objects rather than globalIDs. The notification
contains:Key | Value |
EOObjectStore. UpdatedKey |
An NSArray containing the changed objects |
EOObjectStore. DeletedKey |
An NSArray containing the deleted objects |
EOObjectStore. InsertedKey |
An NSArray containing the inserted objects |
EOObjectStore. InvalidatedKey |
An NSArray containing invalidated objects. |
Interface layer EODisplayGroups (not WebObjects WODisplayGroups) listen for this notification to redisplay their contents.