PATH |
EOCooperatingObjectStore
Inherits from: EOObjectStore
Implements: NSLocking
Package: com.webobjects.eocontrol
Class Description
EOCooperatingObjectStore is a part of the control layer's object storage abstraction. It is an abstract class that defines the basic API for object stores that work together to manage data from several distinct data repositories.
For more general information on the object storage abstraction, see "Object Storage Abstraction" (page 23) in the introduction to the EOControl Framework.
The interaction between EOCooperatingObjectStores is managed by another class, EOObjectStoreCoordinator. The EOObjectStoreCoordinator communicates changes to its EOCooperatingObjectStores by passing them an EOEditingContext. Each cooperating store examines the modified objects in the editing context and determines if it's responsible for handling the changes. When a cooperating store has changes that need to be handled by another store, it communicates the changes to the other store back through the coordinator.
For relational databases, Enterprise Objects Framework provides a concrete subclass of EOCooperatingObjectStore, EODatabaseContext (EOAccess). A database context represents a single connection to a database server, fetching and saving objects on behalf of one or more editing contexts. However, a database context and an editing context don't interact with each other directly-a coordinator acts as a mediator between them.
Interfaces Implemented
NSLocking lock unlock
Method Types
Committing or discarding changes commitChanges ownsGlobalID rollbackChanges prepareForSaveWithCoordinator recordChangesInEditingContext recordUpdateForObject Returning information about objects valuesForKeys Determining if the EOCooperatingObjectStore is responsible for an operation ownsObject ownsGlobalID handlesFetchSpecification
Constructors
EOCooperatingObjectStore
public EOCooperatingObjectStore()
Instance Methods
commitChanges
public abstract void commitChanges()
See Also: ownsGlobalID, commitChanges, saveChangesInEditingContext (EOObjectStoreCoordinator)
handlesFetchSpecification
public abstract boolean handlesFetchSpecification(EOFetchSpecification fetchSpecification)
true
if the receiver is responsible for fetching the objects described by fetchSpecification. For example, EODatabaseContext (EOAccess) determines whether it's responsible based on fetchSpecification's entity name.
See Also: ownsGlobalID, ownsObject
lock
public abstract void lock()
ownsGlobalID
public abstract boolean ownsGlobalID(EOGlobalID globalID)
true
if the receiver is responsible for fetching and saving the object identified by globalID. For example, EODatabaseContext (EOAccess) determines whether it's responsible based on the entity associated with globalID.
See Also: handlesFetchSpecification, ownsObject
ownsObject
public abstract boolean ownsObject(EOEnterpriseObject anEO)
true
if the receiver is responsible for fetching and saving anEO. For example, EODatabaseContext (EOAccess) determines whether it's responsible based on the entity associated with anEO.
See Also: ownsGlobalID, handlesFetchSpecification
performChanges
public abstract void performChanges()
See Also: commitChanges, rollbackChanges, saveChangesInEditingContext (EOObjectStoreCoordinator)
prepareForSaveWithCoordinator
public abstract void prepareForSaveWithCoordinator( EOObjectStoreCoordinator coordinator, EOEditingContext anEditingContext)
After performing these methods, the receiver should be prepared to receive the possible messages ownsGlobalID and then commitChanges or rollbackChanges.
recordChangesInEditingContext
public abstract void recordChangesInEditingContext()
See Also: prepareForSaveWithCoordinator, recordUpdateForObject
recordUpdateForObject
public abstract void recordUpdateForObject( EOEnterpriseObject anEO, NSDictionary changes)
See Also: prepareForSaveWithCoordinator, recordChangesInEditingContext
rollbackChanges
public abstract void rollbackChanges()
See Also: commitChanges, ownsGlobalID, saveChangesInEditingContext (EOObjectStoreCoordinator)
unlock
public abstract void unlock()
valuesForKeys
public abstract NSDictionary valuesForKeys( NSArray keys, EOEnterpriseObject anEO)
© 2001 Apple Computer, Inc. (Last Published April 19, 2001)