When for a particular purpose, there is one and at most one another related object to be associated with an object, it's probably to be associated through a Tie field. And the object get to derive from av.tob.TheRelation to be able to define such a field.
For example the
Order
object for an
OrderItem
object. Every
OrderItem
belongs to a single
Order
object, and an
Order
object can have many
OrderItem
objects. So the owner
Order
object can be
tied
by a
Tie
field of the
OrderItem
object.
A single relation object can tie more than one target objects together, with the same number of Tie fields. For example each Categorization object ties one Category and one Product object together.
A separated
Categorization
relation class also enables multiple
Category
object be associated with a single
Product
object, and multiple
Product
objects be associated with a single
Category
object.
A Tie field reflects a tight connection from a relation object to one of its target objects. Where the relation object can even receive a notification upon the target object's deletion by overriding Tie.killingTargetNotify() and Tie.targetKilledNotify() of the tie reference.
A tie can be seen as a rope from a relation object, which has a knot at the outer end that ties one target object at a time.