Represents a relationship between two objects. The object-valued Head and Tail properties express the relationship. Use a Link object for many-to-many relationships between any objects, or for referential containment relationships between objects that are not instances of Containable subclasses.

Note: This is a weak link relationship: both the Head and Tail properties have their DeletionAction metadata properties set to None. If you delete the object referenced by the head or tail, the Link object itself is not deleted.


The following tables list the members exposed by ILink.

Public Properties

 NameDescription
Public propertyActiveMarkingsThe list of ActiveMarking objects currently applied to a given object. Each ActiveMarking object represents a marking that is in a MarkingSet associated with a property on the object.
Public propertyAuditedEventsAn EventSet collection of the Event objects containing the audited events that have occurred for the object.
Public propertyCreatorIndicates the name of the user assigned as the creator of the object.

Settability of this property is read-only for most users. For users who have been granted privileged write access (AccessRight.PRIVILEGED_WRITE), this property is settable only on create. After initial object creation, this property is read-only for all users.

Public propertyDateCreatedIndicates the date and time the object was created. The Content Engine stores dates and times using Coordinated Universal Time (UTC).

Settability of this property is read-only for most users. For users who have been granted privileged write access (AccessRight.PRIVILEGED_WRITE), this property is settable only on create. After initial object creation, this property is read-only for all users.

Public propertyDateLastModifiedIndicates the date and time the object was last modified. The Content Engine stores dates and times using Coordinated Universal Time (UTC).

Settability of this property is read-only for most users. For users who have been granted privileged write access (AccessRight.PRIVILEGED_WRITE), this property is read/write. (The read/write access for those users can only change if a change is made to the ACL on the object store that controls who has privileged write access to objects in that object store).

Public propertyHeadAn IndependentlyPersistableObject instance that participates in a binary relationship as the logical head (containee) in a relationship between two objects.

For a DynamicReferentialContainmentRelationship object, the head is always a Versionable object.

For a ReferentialContainmentRelationship object, the head can be any of the Containable subclasses (such as a CustomObject, Document, or Folder object). In this case, when the head is a Document object, it represents a specific document version.

For a Link object, this property can specify any object that is a subclass of the IndependentObject base class.

Public propertyIdA representation of the Globally Unique Identifier (GUID), a unique 128-bit number, that is assigned to this Content Engine object when the object is created. When converted to a string, the Id property is typically depicted as 32 hexadecimal characters enclosed by brackets in the following format: {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}. For example, {3F2504E0-4F89-11D3-9A0C-0305E82C3301}.

For IUser and IGroup classes, the Id property takes the value of the Security Identifier (SID) rather than the 128-bit GUID. The string representation of the SID is in this example format: S-1-5-21-1559522492-2815155736-3711640725-55269. When Active Directory is used as the directory service for IBM FileNet P8, IUser.Id and IGroup.Id always return the current SID for the principal, even if this user or group has only historical SIDs populating the Active Directory server.

For a given property representation, the Id property has the following characteristics:

  • PropertyDescription.Id is equal to PropertyTemplate.Id, which is equal to PropertyDefinition.PrimaryId.
  • PropertyDefinition.Id is not equal to PropertyDefinition.PrimaryId.
  • PropertyDefinition.Id is not equal to PropertyDescription.Id.

For a newly created document object, you can override the Id property of its associated VersionSeries object before you save or check in the document for the first time.

Public propertyLastModifierIndicates the name of the user who last modified the object.

Settability of this property is read-only for most users. For users who have been granted privileged write access (AccessRight.PRIVILEGED_WRITE), this property is read/write. (The read/write access for those users could only change if a change is made to the ACL on the object store that controls who has privileged write access to objects in that object store).

Public propertyNameThe name for this object.

For most classes, this property is read-only and returns the value of the designated name property for the object, or its ID if there is no name property. If ClassDescription.NamePropertyIndex has a value, this property contains the value of the designated name property. If there is no designated name property value, and the object has an Id property, this property contains the string value of the Id property. If neither of these conditions is satisfied, this property contains an empty string.

For a ComponentRelationship object, this property is read/write and specifies the name of the object.

Public propertyOwnerManages the security owner assigned to the object.
Public propertyPermissionsManages the discretionary permissions assigned to the object.
Public propertyTailAn IndependentlyPersistableObject instance that participates in a binary relationship as the logical tail between two objects.

For a DynamicReferentialContainmentRelationship or ReferentialContainmentRelationship object, this is always a Folder object.

For a Link object, this can be any subclass of IndependentObject.

Top

Public Methods

 NameDescription
Public methodChangeClassChanges the class of a Content Engine object. The new class must already exist and both it and the original class must be subclasses of the same base class. The ChangeClass method does not modify the security for an object, even if the object's current security is derived from the default security for its source class. For the object's user-defined properties, the following rules apply:
  • Any user-defined properties that exist in the new class but not in the original class are set to the default value defined by the new class (or to null if there is no default defined).
  • Any user-defined properties that exist in both the original and the new class that are writable and have the same value (including null) as the default value defined in the original class will be set to the default value defined by the new class. However, any user-defined property that has had its value modified from the default value will retain that modified value in the new class.
  • Any user-defined properties whose definitions exist in the original class but not in the new class will no longer exist on the object when its class is changed.

When the class of a document object is changed, the default document lifecycle policy of the new class will only be applied to the document object's DocumentLifecyclePolicy property if both of the following scenarios occur:

  • The document has no current lifecycle policy.
  • The document is either a reservation object, or is the current version object and is not reserved.

Top

See Also