PATH Documentation > WebObjects

Table of Contents

EOMasterDetailAssociation


Inherits from:
EOMasterAssociation : EOAssociation : EODelayedObserver (EOControl) : Object
Implements:
NSDisposable
EOObserving (EOControl)
Package:
com.webobjects.eointerface


Class Description


An EOMasterDetailAssociation object binds one EODisplayGroup (the detail) to a relationship in another (the master), so that the detail display group contains the destination objects for the object selected in the master. The display groups' data sources also operate in a master-detail arrangement, meaning changes to one are immediately reflected in the other. In this arrangement, the detail EODisplayGroup's data source must be an EODetailDataSource. The detail objects are taken directly from the selected object in the master EODisplayGroup, so that changes to the objects in one EODisplayGroup are instantly reflected in the other.

In com.webobjects.eointerface.cocoa, by contrast, with an EOMasterPeerAssociation, the two EODisplayGroups are independent of each other. In a master-peer setup, insertions and deletions in the detail EODisplayGroup don't affect the corresponding relationship property of the selected object in the master EODisplayGroup. Master-peer setups are more appropriate when no insertions or deletions will be made in the detail EODisplayGroup. See the EOMasterPeerAssociation class specification for more information.


Example

Suppose you have a master EODisplayGroup displaying Movie objects and a detail display group displaying Talent objects. The two display groups are bound to one another through Movie's directors relationship-a to-many relationship from Movie to Talent. When a Movie is selected, you want the Talent display group to display the Talents who directed the Movie. Inserting a new director into the Talent display group should add the director to the selected Movie's directors relationship; and similarly, deleting a director from the Talent display group should remove the director from the selected Movie's directors relationship.

To do this, in Interface Builder, control-drag a connection from the Talent display group to the Movie display group. In the Connections inspector, choose EOMasterDetailAssociation, and bind parent aspect to the "directors" key.




Interfaces Implemented


NSDisposable
dispose
EOObserving


Method Types


All methods
EOMasterDetailAssociation
isUsableWithObject
subjectChanged


Constructors



EOMasterDetailAssociation

public EOMasterDetailAssociation(Object aDisplayObject)

Creates a new EOMasterDetailAssociation to monitor and update the value in aDisplayObject, an EODisplayGroup.

You normally set up associations with the Interface Builder application, in which case you don't need to create them programmatically. However, if you do create them up programmatically, setting them up is a multi-step process. After creating an association, you must bind its aspects and establish its connections.

See Also: bindAspect (EOAssociation), establishConnection (EOAssociation)




Instance Methods



dispose

public void dispose()

See the description in the documentation for NSDisposable.

isUsableWithObject

public boolean isUsableWithObject(Object aDisplayObject)

Returns true if aDisplayObject is an instance of EODisplayGroup and its dataSource is either null or an EODetailDataSource (EOControl).

See Also: isUsableWithObject (EOAssociation)



subjectChanged

public void subjectChanged()

See the subjectChanged method description in the superclass EOAssociation.

© 2001 Apple Computer, Inc. (Last Published April 21, 2001)


Table of Contents