com.webobjects.eointerface
Class EOActionAssociation
java.lang.Object
com.webobjects.eocontrol.EODelayedObserver
com.webobjects.eointerface.EOAssociation
com.webobjects.eointerface.EOWidgetAssociation
com.webobjects.eointerface.EOActionWidgetAssociation
com.webobjects.eointerface.EOActionAssociation
- All Implemented Interfaces:
- EOObserving, NSDisposable
- public class EOActionAssociation
- extends EOActionWidgetAssociation
An EOActionAssociation object allows you to set up an interface
object, such as a button, to send a message to the Enterprise Objects
selected in the association's display group when the interface
object is acted on.
Usable with:
com.webobjects.eointerface.swing
: Any object that implements
the method addActionListener
(javax.swing.JButton
and
javax.swing.JMenuItem
, for example).
com.webobjects.eointerface.cocoa
: NSControl, NSActionCell,
and their subclasses.
Aspects:
action | Bound to a key that names the method to invoke
on the selected objects. If the argument aspect
isn't bound, the method must take no arguments.
If the argument aspect is bound, then the
method must take exactly one argument. |
argument | An object attribute or relationship of the
selected object, passed as an argument to
the action method. (Usually bound to a different
EODisplayGroup than the one bound to action.) |
enabled | A boolean attribute of the selected object,
which determines whether the display object is enabled. |
Examples:
Suppose you have an application that manages member accounts, each
of which has a restriction on the outstanding balance allowed. You
want a user to be able to increase the restriction limit by
selecting one or more members and then clicking a button. To do
this, you define a boostRestrictions
method in the Member class that
increases the limit by 20%. In Interface Builder, control-drag a
connection from the button to the Member display group. Select
EOActionAssociation in the Connections inspector, and bind the
association's action
aspect to the "boostRestrictions" key.
In another scenario, one EODisplayGroup shows Members, while another
shows video tapes available for rent. Here, you want a user to be
able to select a member, select a video tape, and then click a Rent
button that checks the selected tape out to the selected member. To
do this, define a rentVideoTape
method in the Member class that
takes a VideoTape as an argument and handles the accounting involved
in a video rental. Then, in Interface Builder, control-drag a
connection from the button to the Members display group. Select
EOActionAssociation in the Connections inspector, and bind the
association's action
aspect to Member's rentVideoTape action.
Similarly, control-drag a connection from the button to the
VideoTape display group. Select EOActionAssociation in the
Connections inspector, and bind the association's argument
aspect
to the VideoTape display group. Now, when the user selects a Member,
selects a VideoTape, and clicks the button, the selected Member is
sent a rentVideoTape
message with the selected VideoTape.
Fields inherited from class com.webobjects.eointerface.EOAssociation |
ActionAspect, ArgumentAspect, AttributeAspectSignature, AttributeToManyAspectSignature, AttributeToOneAspectSignature, AttributeToOneToManyAspectSignature, BackgroundColorAspect, BoldAspect, ChildrenAspect, DestinationAspect, EnabledAspect, ExpandedIconAspect, IconAspect, IgnoreValue, IsLeafAspect, ItalicAspect, MatchKey1Aspect, MatchKey2Aspect, MatchKey3Aspect, NullAspectSignature, ParentAspect, RootAspect, SelectedIndexAspect, SelectedObjectAspect, SelectedTitleAspect, SetValue, SourceAspect, TextColorAspect, TitlesAspect, ToManyAspectSignature, ToOneAspectSignature, ToOneToManyAspectSignature, UnsetValue, URLAspect, ValueAspect |
Constructor Summary |
EOActionAssociation(Object aDisplayObject)
Creates a new EOActionAssociation to monitor and update the value
in aDisplayObject , typically a button or menu item. |
Method Summary |
protected boolean |
displayGroupSelectionsAllowEnabled()
Returns whether or not the set of selected items in the action display group
allows for this association to perform its action. |
void |
invokeAction()
Invoked by the receiver's plugin when its display
object is acted upon. |
String |
primaryAspect()
Returns the primary aspect this association
gets bound to. |
Methods inherited from class com.webobjects.eointerface.EOWidgetAssociation |
canSupportValueFormatter, defaultPrefersContinuousChangeNotification, dispose, isUsableWithObject, objectKeysTaken, prefersContinuousChangeNotification, setDefaultPrefersContinuousChangeNotification, setObject, setPrefersContinuousChangeNotification, setValueFormatter, valueFormatter, widgetPlugin |
Methods inherited from class com.webobjects.eointerface.EOAssociation |
aspects, aspectSignatures, associationClassesForObject, bindAspect, breakConnection, copyMatchingBindingsFromAssociation, displayGroupForAspect, displayGroupKeyForAspect, endEditing, establishConnection, isConnected, isExplicitlyDisabled, object, priority, registerAssociationClass, setExplicitlyDisabled, setValueForAspect, setValueForAspectAtIndex, shouldEndEditing, shouldEndEditingAtIndex, valueForAspect, valueForAspectAtIndex |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
EOActionAssociation
public EOActionAssociation(Object aDisplayObject)
- Creates a new EOActionAssociation to monitor and update the value
in
aDisplayObject
, typically a button or menu item.
You normally set up associations in Interface Builder, 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.
- Parameters:
aDisplayObject
- display object for this association to manage- See Also:
EOAssociation.bindAspect(java.lang.String, com.webobjects.eointerface.EODisplayGroup, java.lang.String)
,
EOAssociation.establishConnection()
displayGroupSelectionsAllowEnabled
protected boolean displayGroupSelectionsAllowEnabled()
- Returns whether or not the set of selected items in the action display group
allows for this association to perform its action. If
true
, then the action
can be invoked, otherwise nothing will happen when the invokeAction
method is
called on this association.
- Overrides:
displayGroupSelectionsAllowEnabled
in class EOActionWidgetAssociation
- Returns:
true
if the action display group selection is
not empty and either the argument aspect is not bound
or the argument display group selection is not empty; false
otherwise
invokeAction
public void invokeAction()
- Invoked by the receiver's plugin when its display
object is acted upon. Sends the method identified
by the receiver's action aspect (with an argument,
if the argument aspect is bound) to the selected objects.
- Specified by:
invokeAction
in class EOActionWidgetAssociation
primaryAspect
public String primaryAspect()
- Returns the primary aspect this association
gets bound to.
- Overrides:
primaryAspect
in class EOAssociation
- Returns:
- EOAssociaion.ActionAspect
Copyright © 2004 Apple Computer, Inc.