|
WebObjects 5.4.2 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.webobjects.eocontrol.EODataSource
com.webobjects.eoaccess.EODatabaseDataSource
public class EODatabaseDataSource
EODatabaseDataSource is a concrete subclass of EODataSource, defined in EOControl. EODatabaseDataSource fetches objects based on an EOModel, using an EODatabaseContext that services the data source's EOEditingContext. An EODatabaseDataSource can be set up to fetch all objects for its root entity or to fetch objects matching a particular EOFetchSpecification, and to further filter its fetching with an auxiliary qualifier.
EODatabaseDataSource implements all the functionality defined by EODataSource. In addition to fetching objects, it can insert and delete them (provided the entity isn't read-only). As with other data sources, EODatabaseDataSource can also provide a detail data source.
EODataSource,
EODetailDataSource,
Serialized Form| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface com.webobjects.eocontrol.EOKeyValueArchiving |
|---|
EOKeyValueArchiving.Awaking, EOKeyValueArchiving.FinishInitialization, EOKeyValueArchiving.Support |
| Nested classes/interfaces inherited from interface com.webobjects.foundation.NSCoding |
|---|
NSCoding.Support |
| Constructor Summary | |
|---|---|
EODatabaseDataSource(EOEditingContext anEditingContext,
String anEntityName)
Constructs a new EODatabaseDataSource to fetch all objects for the EOEntity specified by anEntityName into anEditingContext . |
|
EODatabaseDataSource(EOEditingContext anEditingContext,
String anEntityName,
String fetchSpecificationName)
Constructs a new EODatabaseDataSource to fetch objects into anEditingContext for the EOEntity specified by anEntityName using the fetch specification fetchSpecificationName. |
|
| Method Summary | |
|---|---|
EOQualifier |
auxiliaryQualifier()
Returns the auxiliary EOQualifier used to further restrict the fetch criteria defined by the receiver's EOFetchSpecification. |
void |
awakeFromKeyValueUnarchiver(EOKeyValueUnarchiver unarchiver)
Finishes initialization of a data source unarchived from EOKeyValueArchiving. |
void |
awakeFromNib()
Finishes initialization of a data source from a nib file. |
EOClassDescription |
classDescriptionForObjects()
Returns the class description for the root entity of the receiver. |
Class |
classForCoder()
Conformance to NSCoding. |
Object |
createObject()
Creates a new object, inserts it in the receiver's collection of objects if appropriate, and returns the object. |
EODatabaseContext |
databaseContext()
Returns the EODatabaseContext that is used to access the external database. |
EODataSource |
dataSourceQualifiedByKey(String key)
Returns a detail data source that provides the destination objects of the relationship named by key. |
static Object |
decodeObject(NSCoder coder)
Decodes and returns an EODatabaseDataSource using coder. |
static Object |
decodeWithKeyValueUnarchiver(EOKeyValueUnarchiver unarchiver)
Conformance to EOKeyValueArchiving. |
void |
deleteObject(Object object)
Deletes object from the data source. |
EOEditingContext |
editingContext()
Returns the EOEditingContext into which objects from this data source are fetched. |
void |
encodeWithCoder(NSCoder coder)
Conformance to NSCoding. |
void |
encodeWithKeyValueArchiver(EOKeyValueArchiver archiver)
Conformance to EOKeyValueArchiving. |
EOEntity |
entity()
Returns the root entity of the receiver. |
NSArray |
fetchObjects()
Fetches and returns an array of objects using the fetch specification and editing context associated with this datasource. |
EOFetchSpecification |
fetchSpecification()
Returns the receiver's EOFetchSpecification or null if no fetch specification is set. |
EOFetchSpecification |
fetchSpecificationForFetch()
Returns a copy of the effective fetch specification, which is the union of the primary fetch specification and the auxiliary qualifier. |
String |
fetchSpecificationName()
Returns the name of the receiver's fetch specification or null if the data source is not using a named fetch specification. |
void |
insertObject(Object object)
The default implementation does nothing. |
boolean |
isFetchEnabled()
Returns true if fetching is enabled, false otherwise. |
NSArray |
qualifierBindingKeys()
Returns an array of strings which is a union of the binding keys from the fetch specification's qualifier and the data source's auxiliary qualifier, or NSArray.EmptyArray if there are no bindings. |
NSDictionary |
qualifierBindings()
Returns a dictionary of bindings to be used for variable replacement on the fetch specification's qualifier and the auxiliary qualifier before the fetch is executed. |
void |
qualifyWithRelationshipKey(String key,
Object sourceObject)
Sets the primary qualifier for the fetch specification for the relationship named key owned by the enterprise object sourceObject. |
void |
setAuxiliaryQualifier(EOQualifier newQualifier)
Sets the auxiliary qualifier to newQualifier. |
void |
setEditingContext(EOEditingContext editingContext)
Used internally. |
void |
setFetchEnabled(boolean yn)
Controls whether objects can be fetched by the receiver. |
void |
setFetchSpecification(EOFetchSpecification fetchSpec)
Sets the fetch specification used when supplying objects to fetchSpec. |
void |
setFetchSpecificationByName(String fetchSpecificationName)
Retrieves the fetch specification identified by fetchSpecificationName from the root EOEntity for the receiver and sets it as the receiver's fetch specification. |
void |
setParentDataSourceRelationshipKey(EODataSource parent,
String key)
Called from Interface Builder to reset the parent entity. |
void |
setQualifierBindings(NSDictionary bindings)
Sets a dictionary of bindings to be used for variable replacement on the fetch specification's qualifier and the auxiliary qualifier before the fetch is executed. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public EODatabaseDataSource(EOEditingContext anEditingContext,
String anEntityName,
String fetchSpecificationName)
anEditingContext for the EOEntity specified by anEntityName using the fetch specification fetchSpecificationName. Finds the EOObjectStoreCoordinator for anEditingContext
and searches for a channel that services the model of the entity. If one exists, the EODatabaseDataSource uses it. Otherwise, a new one is created for this EODatabaseDataSource.
fetchSpecificationName is used to find the fetch specification in the entity. If fetchSpecificationName is null, a new fetch specification is instantiated that will fetch all objects of the entity.
anEditingContext - The EOEditingContext into which to fetch objects.anEntityName - The EOEntity for this data source.fetchSpecificationName - The criteria to select and order a group of database records, or null.
public EODatabaseDataSource(EOEditingContext anEditingContext,
String anEntityName)
anEntityName into anEditingContext . Finds the EOObjectStoreCoordinator for anEditingContext and searches for a channel that services the model of the entity.
If one exists, the EODatabaseDataSource uses it. Otherwise, a new one is created for this EODatabaseDataSource.
anEditingContext - The EOEditingContext into which to fetch objects.anEntityName - The EOEntity for this data source.| Method Detail |
|---|
public Class classForCoder()
classForCoder in interface NSCodingpublic void encodeWithCoder(NSCoder coder)
encodeWithCoder in interface NSCodingcoder - An NSCoder object to encode the receiver.NSCoderpublic static Object decodeObject(NSCoder coder)
coder. For NSCoding conformance.
coder - The NSCoder object to decode the data source.
public void encodeWithKeyValueArchiver(EOKeyValueArchiver archiver)
encodeWithKeyValueArchiver in interface EOKeyValueArchivingarchiver - The EOKeyValueArchiver object with which to encode the receiver.EOKeyValueArchiverpublic static Object decodeWithKeyValueUnarchiver(EOKeyValueUnarchiver unarchiver)
unarchiver - The EOKeyValueArchiver object with which to encode the receiver.
public void awakeFromKeyValueUnarchiver(EOKeyValueUnarchiver unarchiver)
awakeFromKeyValueUnarchiver in interface EOKeyValueArchiving.Awakingunarchiver - The EOKeyValueUnarchiver that decoded the receiver.EOKeyValueUnarchiver,
EOKeyValueArchiving.FinishInitializationpublic void awakeFromNib()
public void setEditingContext(EOEditingContext editingContext)
public EOEditingContext editingContext()
editingContext in class EODataSourcepublic Object createObject()
EODataSourcenull
if the receiver can't create the object or can't insert it.
You should invoke insertObject after this method to actually add
the new object to the receiver.
As a convenience, EODataSource's implementation sends the receiver's
EOClassDescription a createInstanceWithEditingContext
message to create the object. If this succeeds and the receiver has an
EOEditingContext, it sends the EOEditingContext an
insertObject message to register the new object with the
EOEditingContext (note that this does not insert the object into
the EODataSource). Subclasses that don't use
EOClassDescriptions or EOEditingContexts should
override this method without invoking the superclass's implementation.
createObject in class EODataSourcenull if the receiver can't create the object or can't insert it,
otherwise returns the objectEODataSource.insertObject(Object object),
EOClassDescription.createInstanceWithEditingContext(
EOEditingContext editingContext, EOGlobalID globalID),
EODataSource.classDescriptionForObjects(),
EODataSource.editingContext()public EOEntity entity()
public EODatabaseContext databaseContext()
public EOFetchSpecification fetchSpecification()
null if no fetch specification is set. The fetch specification for a data source can be set with either setFetchSpecification or setFetchSpecificationByName.
null.EODatabaseDataSource.setFetchSpecification(EOFetchSpecification fetchSpec),
EODatabaseDataSource.setFetchSpecificationByName(String fetchSpecificationName)public void setFetchSpecification(EOFetchSpecification fetchSpec)
fetchSpec. The primary EOQualifier is conjoined with the auxiliary EOQualifier when objects are fetched. This method also sets the fetchSpecificationName to null. To use a named fetch
specification from an entity, invoke setFetchSpecificationByName.
fetchSpec - The criteria to select and order a group of database records.EODatabaseDataSource.setAuxiliaryQualifier(EOQualifier aQualifier),
EODatabaseDataSource.fetchSpecificationForFetch(),
(String fetchSpecificationName),
EOFetchSpecificationpublic void setFetchSpecificationByName(String fetchSpecificationName)
fetchSpecificationName from the root EOEntity for the receiver and sets it as the receiver's fetch specification. Sets the receiver's fetch specification name to fetchSpecificationName. Throws an exception if
unable to retrieve the named fetch specification from the root entity.
fetchSpecificationName - The name of the fetch specification to set as the receiver's fetch specification, obtained from the root entity.
EOObjectNotAvailableException - if the root entity does not have a fetch specification named fetchSpecificationName.EODatabaseDataSource.fetchSpecification(),
EODatabaseDataSource.fetchSpecificationName()public String fetchSpecificationName()
null if the data source is not using a named fetch specification.
null.EODatabaseDataSource.setFetchSpecification(EOFetchSpecification fetchSpec),
EODatabaseDataSource.setFetchSpecificationByName(String fetchSpecificationName)public void setAuxiliaryQualifier(EOQualifier newQualifier)
newQualifier. The auxiliary qualifier usually adds restricting conditions to the primary qualifier and is useful for narrowing the scope of a data source without altering its primary qualifier. This is especially useful for setting a qualifier
on a qualified peer data source, since a peer's primary qualifier specifies the matching criteria for the relationship for which it fetches.
newQualifier - The new auxiliary EOQualifier.EODatabaseDataSource.fetchSpecificationForFetch(),
EODatabaseDataSource.fetchSpecification()public EOQualifier auxiliaryQualifier()
public NSArray qualifierBindingKeys()
public void setQualifierBindings(NSDictionary bindings)
bindings - NSDictionary of qualifier bindings.EODatabaseDataSource.qualifierBindings()public NSDictionary qualifierBindings()
public void setFetchEnabled(boolean yn)
yn is true, the method fetchObjects fetches objects from the external data source when invoked. If false, fetchObjects does not perform a fetch and returns
an empty array.
Fetching is typically disabled when the data source is acting as a peer in a master-peer configuration and the master does not have an object selected. For example, EODatabaseDataSource's implementation of qualifyWithRelationshipKey invokes this method to enable or disable
fetching based on whether a master object is provided.
yn - Boolean flag to determine whether fetching is enabled.EODatabaseDataSource.isFetchEnabled(),
EODatabaseDataSource.qualifyWithRelationshipKey(String key, Object sourceObject)public boolean isFetchEnabled()
true if fetching is enabled, false otherwise. Fetching is typically disabled in a master-peer configuration whenno object is selected in the master.
true if fetching is enabled, false otherwise.EODatabaseDataSource.setFetchEnabled(boolean yn)public EOClassDescription classDescriptionForObjects()
classDescriptionForObjects in class EODataSourcepublic EOFetchSpecification fetchSpecificationForFetch()
fetchObjects. To permanently modify fetching behavior, use
setFetchSpecification and/or setAuxiliaryQualifier to change the receiver's fetch specification and auxiliary qualifier.
null.EODatabaseDataSource.fetchObjects(),
EODatabaseDataSource.setFetchSpecification(EOFetchSpecification fetchSpec),
EODatabaseDataSource.setAuxiliaryQualifier(EOQualifier aQualifier)public NSArray fetchObjects()
null if the receiver's fetch specification is null.
fetchObjects in class EODataSourcenull.EODatabaseDataSource.isFetchEnabled(),
EODatabaseDataSource.setFetchEnabled(boolean flag)public void insertObject(Object object)
insertObject in class EODataSourceobject - An Enterprise Object to insert in the current editing context.public void deleteObject(Object object)
object from the data source. If the receiver registers undos for the deletion, the receiver may receive a redundant insertObject call.
deleteObject in class EODataSourceobject - An Enterprise Object to delete from the data source.public EODataSource dataSourceQualifiedByKey(String key)
key. The returned detail data source can be qualified by using qualifyWithRelationshipKey to set a specific master object or to change the relationship key.
dataSourceQualifiedByKey in class EODataSourcekey - The name of the relationship.
key.EODataSource.qualifyWithRelationshipKey( String key, Object sourceObject)
public void qualifyWithRelationshipKey(String key,
Object sourceObject)
key owned by the enterprise object sourceObject. Throws an exception if:
sourceObjectsourceObject has no relationship named keykey
qualifyWithRelationshipKey in class EODataSourcekey - The name of the relationship to qualify.sourceObject - The owner of the relationship named key. this must be an EOEnterpriseObject
IllegalStateException - unable to find source entity or relationship or unable to build the qualifier.EODataSource.dataSourceQualifiedByKey(String key)
public void setParentDataSourceRelationshipKey(EODataSource parent,
String key)
parent - The master of the detail data source.key - The name of the relationship.EODatabaseDataSource.qualifyWithRelationshipKey(String key, Object sourceObject)
|
Last updated June 2008 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||