Link objects
The Link object provides a way to create relationships
between two objects by using Head and Tail properties. The Head and
the Tail can each be associated with a single instance of almost any
class. For example, a link object can have the Head point to a folder
and the Tail point to a document. This type of relationship is in
contrast to the one-to-many nature of the RCR (Referential Containment
Relationship) class, which requires that the Tail point to a single
folder, while the Head can point to many containable objects (any
combination of documents, folders, or custom objects).
You can view the Link object class in the administration console in the object store's folder. Similar to other classes, the link class can be extended with subclasses and its properties can be examined and modified. An application typically subclasses the link class and restricts the types of objects that can be pointed to by the Head and Tail properties based on the requirements of the application.
Head and Tail association properties
Head
and Tail properties of a link object behave as association properties,
which enable you to manage the relationship between linked objects
in the object store. The following characteristics of an association
property should be implemented for a link object as follows:
- Cardinality (One-to-One): Each Head property should point to one object and each Tail property should point to one object.
- Delete Action (various): Any one of the possible delete actions should be selected.
- Reflectivity: The ReflectivePropertyId values for the link object, and for the objects pointed to by the Head and Tail properties should be defined.