Adding a link object

Often, when you add to an association with a link class, you want to do things with the created link object.

Do this:

Association object.png

Add a method to either of the "main" classes with content similar to this:

self.Flights.add(aFlight); 
self.Bookings->select(b | b.Flight = aFlight)->first

There is an operator addReturnIndexOf0 that adds the Flight - and returns the zero based index of Booking.

self.Bookings.at0(self.Flights.addReturnIndexOf0(aFlight)).AttributeOnBooking

It adds the object at the other end to the association and looks up the created link object - in this case, a Booking object and returns it.

Please note that it's usually good to set the names on the links, both the InnerLinkName and the LinkRoleName.

In this example: this is the InnerLinkName and the LinkRoleName for the Person's end of the association.

Linkrolename.png

Note! From the Booking object, it's only one Person object in the association. Hence, Person, not Persons

See also: Association classes

This page was edited 157 days ago on 06/17/2024. What links here