IBM FileNet P8, Version 5.2.1            

Association properties

With association properties you can create a relationship between classes in an object store. For example, by creating association properties you can establish a relationship between the Document class and the Annotation class. When the user creates a document and annotations based on these two classes, the objects are linked (related) by the association properties. By creating an association, or relationship, between objects you can programmatically discover and navigate between associated objects. Association properties also allow you to specify and enforce certain behavior among related objects, such as how to perform deletions of related objects.

Association properties are object-valued properties that you create by using the New Association Properties wizard. Like all Content Platform Engine properties, if you add an association property to a superclass, the property is added to all new and existing subclasses. When you remove an association property from a class, the corresponding association property is removed from the related class. The association properties are not removed from any subclasses that inherited the properties, however the relationship is broken.

The relationships created by association properties have three primary characteristics: cardinality, dependency, and reflectivity. You specify values for each of these characteristics using the New Association Properties wizard.

Association cardinality

A relationship's cardinality defines the number of objects that can exist on each side of the relationship. The following types of cardinality are supported:

Association dependencies and delete actions

Association dependencies establish which objects in the relationship are dependent on another object. Association dependencies determine what actions are taken when the user attempts to delete one of the objects in the relationship. The Delete Action property of each object is assigned a value based on the dependency that you specify in the New Association Properties wizard. The following types of dependencies are supported

Association reflectivity

Reflectivity enables an object in an association to identify the other objects in the relationship. The New Association Property wizard creates association properties in pairs and adds one association property to each of the two classes for which you are defining a relationship. These association properties are pointers by which objects link to one another. These pointers are set to point to the appropriate objects either manually in the administration console or programmatically by applications you create.

Association properties example

An object store at an insurance company might have a document class called Policies and another document class called Claims. Within the insurance company, policies and claims are related in the following manner:

To define this association, you would complete the following steps, assuming you already had policies named Policy and Claims.

  1. Define an object-valued property named AssociatedClaims on class Policy.
  2. Define an object-valued property named AssociatedPolicy on class Claims.
  3. Specify the type of association as One-To-Many; one Policy can have many claims.
  4. Define dependency such that when the policy is deleted, the associated claims are deleted as well.

Assigning objects to association properties

You cannot assign objects to association properties at both ends of the association pair. In the previous example, to assign an insurance claim to a policy, it is necessary to go to the properties page of the claim object and assign the specific policy object to the association property of the claim. The association property of the policy object is then enumerated automatically and is also read-only. To assign additional claims to the same policy, repeat the process for each claim object.



Last updated: October 2015
pr_about_association_properties.htm

© Copyright IBM Corporation 2015.