Package com.documentum.fc.client

# Interface IDfRetainer

All Superinterfaces:
  `IDfPersistentObject`, `IDfSysObject`, `IDfTypedObject`

public interface IDfRetainer extends IDfSysObject
Provides access to dm_retainer objects, used for defining retention applied to SysObjects.

The interface for creating a new dm_retainer is defined in IDfRetainerFactory.

Retainers define retention over dm_sysobject objects in the repository and prevent objects from being deleted or overwritten. Retention is applied to SysObjects by associating a SysObject with a retainer through the IDfSysobjectRetention class operations.

For a retainer to be valid, it must be owned by a user of the dm_retention_managers group.

- ## Field Summary

  ### Fields inherited from interface com.documentum.fc.client.IDfPersistentObject

  `CURRENCY_CHECK_ALWAYS, CURRENCY_CHECK_FIRST_ACCESS, CURRENCY_CHECK_NEVER, CURRENCY_CHECK_ONCE_PER_SCOPE`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `changeRetentionStatus(int retentionStatus)`
  This call changes the status of the dm_retainer object.
  `int`
  `getAgingMethod()`
  Returns the dm_retainer.aging_method value.
  `int`
  `getDispositionRule()`
  Returns the dm_retainer.disposition_rule value.
  `int`
  `getEnforcementRule()`
  Returns the dm_retainer.enforcement_rule value.
  `int`
  `getImmutabilityRule()`
  Returns the dm_retainer.immutability_rule value.
  `int`
  `getRenditionRule()`
  Returns the dm_retainer.rendition_rule value.
  `IDfId`
  `getRetainerRootId()`
  Returns the dm_retainer.retainer_root_id value.
  `int`
  `getRetainerStrategy()`
  Returns the dm_retainer.retainer_strategy value.
  `IDfTime`
  `getRetentionDate()`
  Returns the dm_retainer.retention_date value.
  `int`
  `getRetentionInterval()`
  Returns the dm_retainer.retention_interval value.
  `int`
  `getRetentionRuleType()`
  Returns the dm_retainer.retention_rule_type value.
  `int`
  `getRetentionStatus()`
  Returns the dm_retainer.r_retention_status value.
  `String`
  `getRetentionStorageClass()`
  Returns the dm_retainer.retention_storage_class value.
  `void`
  `setAgingMethod(int aging_method)`
  Sets the dm_retainer.aging_method value.
  `void`
  `setDateRetentionPeriod(IDfTime retentionDate)`
  Specifies the retention period for the retainer.
  `void`
  `setDispositionRule(int dispositionRule)`
  Sets the dm_retainer.disposition_rule value.
  `void`
  `setEnforcementRule(int enforcementRule)`
  Sets the dm_retainer.enforcement_rule value.
  `void`
  `setImmutabilityRule(int immutabilityRule)`
  Sets the dm_retainer.immutability_rule value.
  `void`
  `setIntervalRetentionPeriod(int retentionInterval)`
  Specifies retention period for the retainer.
  `void`
  `setNoRetentionPeriod()`
  Specifies retention rule for the retainer with no defined retention period.
  `void`
  `setRenditionRule(int renditionRule)`
  Sets the dm_retainer.rendition_rule value.
  `void`
  `setRetentionStorageClass(String retentionStorageClass)`
  Sets the dm_retainer.retention_storage_class value.

  ### Methods inherited from interface com.documentum.fc.client.IDfPersistentObject

  `addChildRelative, addParentRelative, apiExec, apiGet, apiSet, destroy, fetch, fetchWithCaching, getAttrAssistance, getAttrAssistanceWithValues, getAttrAsstDependencies, getChildRelatives, getParentRelatives, getPartition, getType, getValidator, getVStamp, getWidgetType, isDeleted, isDirty, isInstanceOf, isNew, isReplica, lock, lockEx, registerEvent, removeChildRelative, removeParentRelative, revert, save, setPartition, signoff, unRegisterEvent, unRegisterEventEx, validateAllRules, validateAttrRules, validateAttrRulesWithValue, validateAttrRulesWithValues, validateObjRules, validateObjRulesWithValues`

  ### Methods inherited from interface com.documentum.fc.client.IDfSysObject

  `addDigitalSignature, addESignature, addNote, addReference, addRendition, addRenditionEx, addRenditionEx2, addRenditionEx3, appendContent, appendContentEx, appendFile, appendFileEx, appendPart, areAttributesModifiable, assemble, asVirtualDocument, attachPolicy, bindFile, branch, cancelCheckout, cancelCheckoutEx, cancelScheduledDemote, cancelScheduledPromote, cancelScheduledResume, cancelScheduledSuspend, canDemote, canPromote, canResume, canSuspend, checkin, checkinEx, checkout, checkoutEx, demote, destroyAllVersions, detachPolicy, disassemble, freeze, getAccessDate, getAccessorApplicationPermit, getAccessorCount, getAccessorName, getAccessorPermit, getAccessorPermitType, getAccessorXPermit, getAccessorXPermitNames, getACL, getACLDomain, getACLName, getAclRefValid, getAcsRequests, getAliasSet, getAliasSetId, getAntecedentId, getApplicationType, getAssembledFromId, getAuthors, getAuthorsCount, getBranchCount, getCabinetId, getChronicleId, getCollectionForContent, getCollectionForContentEx2, getCollectionForContentEx3, getCollectionForContentEx4, getComponentId, getComponentIdCount, getCompoundArchitecture, getContainId, getContainIdCount, getContent, getContentAvailability, getContentEx, getContentEx2, getContentEx3, getContentsId, getContentSize, getContentSize, getContentState, getContentStateCount, getContentType, getCreationDate, getCreatorName, getCurrentState, getCurrentStateName, getDirectDescendant, getDoubleContentAttr, getExceptionStateName, getFile, getFileEx, getFileEx2, getFolderId, getFolderIdCount, getFormat, getFrozenAssemblyCount, getFullText, getGroupName, getGroupPermit, getHasEvents, getHasFolder, getHasFrozenAssembly, getImplicitVersionLabel, getKeywords, getKeywordsCount, getLatestFlag, getLinkCount, getLinkHighCount, getLocations, getLockDate, getLockMachine, getLockOwner, getLogEntry, getMasterDocbase, getModifier, getModifyDate, getNextStateName, getObjectName, getOtherFileSize, getOwnerName, getOwnerPermit, getPageCount, getPath, getPathEx, getPathEx2, getPermissions, getPermit, getPermitEx, getPolicyId, getPolicyName, getPreviousStateName, getReferenceCount, getRemoteId, getRenditions, getResolutionLabel, getResumeState, getResumeStateName, getRetainerCount, getRetainerId, getRetainUntilDate, getRouters, getSpecialApp, getStatus, getStorageType, getStringContentAttr, getSubject, getTimeContentAttr, getTitle, getTypeName, getVdmPath, getVdmPathDQL, getVersionLabel, getVersionLabelCount, getVersionLabels, getVersionPolicy, getVersions, getWorkflows, getWorldPermit, getXPermit, getXPermitList, getXPermitNames, grant, grantPermit, hasPermission, insertContent, insertContentEx, insertFile, insertFileEx, insertPart, isArchived, isCheckedOut, isCheckedOutBy, isContentTransferCapabilityEnabled, isFrozen, isHidden, isImmutable, isLinkResolved, isPublic, isReference, isSuspended, isVirtualDocument, link, mark, mount, print, promote, prune, queue, refreshReference, removeContent, removeNote, removePart, removeRendition, removeRenditionEx, removeRenditionEx2, resolveAlias, resume, revertACL, revoke, revokePermit, saveAsNew, saveLock, scheduleDemote, schedulePromote, scheduleResume, scheduleSuspend, setACL, setACLDomain, setACLName, setApplicationType, setArchived, setAuthors, setCompoundArchitecture, setContent, setContentEx, setContentEx2, setContentType, setDoubleContentAttribute, setFile, setFileEx, setFullText, setGroupName, setGroupPermit, setHidden, setIsVirtualDocument, setKeywords, setLinkResolved, setLogEntry, setObjectName, setOwnerName, setOwnerPermit, setPath, setResolutionLabel, setSpecialApp, setStatus, setStorageType, setStringContentAttribute, setSubject, setTimeContentAttribute, setTitle, setWorldPermit, suspend, unfreeze, unlink, unmark, updatePart, updatePartEx, useACL, verifyESignature`

  ### Methods inherited from interface com.documentum.fc.client.IDfTypedObject

  `appendBoolean, appendDouble, appendId, appendInt, appendString, appendTime, appendValue, dump, enumAttrs, findAttrIndex, findBoolean, findDouble, findId, findInt, findString, findTime, findValue, getAllRepeatingStrings, getAttr, getAttrCount, getAttrDataType, getBoolean, getDouble, getId, getInt, getLong, getObjectId, getObjectSession, getOriginalSession, getRepeatingBoolean, getRepeatingDouble, getRepeatingId, getRepeatingInt, getRepeatingLong, getRepeatingString, getRepeatingTime, getRepeatingValue, getSession, getSessionManager, getString, getTime, getValue, getValueAt, getValueCount, hasAttr, insertBoolean, insertDouble, insertId, insertInt, insertString, insertTime, insertValue, isAttrRepeating, isNull, remove, removeAll, setBoolean, setDouble, setId, setInt, setNull, setRepeatingBoolean, setRepeatingDouble, setRepeatingId, setRepeatingInt, setRepeatingString, setRepeatingTime, setRepeatingValue, setSessionManager, setString, setTime, setValue, truncate`

- ## Method Details

  - ### setDateRetentionPeriod

    void setDateRetentionPeriod(IDfTime retentionDate) throws DfException
    Specifies the retention period for the retainer.

    Set the retention period to a fixed date value to which the object must be retained.

    This call sets both the retention_rule_type (to `IDfRetentionRuleType.DATE`) and retention_date fields of the dm_retainer object.
    Parameters:
      `retentionDate` - Date for retention
    Throws:
      `DfException`
    Since:
      5.3

  - ### setIntervalRetentionPeriod

    void setIntervalRetentionPeriod(int retentionInterval) throws DfException
    Specifies retention period for the retainer.

    Set the retention period to an interval value for which the object must be retained.

    This call sets both the retention_rule_type (to `IDfRetentionRuleType.INTERVAL`) and retention_date fields of the dm_retainer object.
    Parameters:
      `retentionInterval` - Time interval - in seconds - for retention
    Throws:
      `DfException`
    Since:
      5.3

  - ### setNoRetentionPeriod

    void setNoRetentionPeriod() throws DfException
    Specifies retention rule for the retainer with no defined retention period.

    The retainer retention_rule_type is set to `IDfRetentionRuleType.NONE`.
    Throws:
      `DfException`
    Since:
      5.3

  - ### getRetainerStrategy

    int getRetainerStrategy() throws DfException
    Returns the dm_retainer.retainer_strategy value.
    Returns:
      The retainer strategy. Values are defined by `IDfRetainerStrategy`.
    Throws:
      `DfException`
    Since:
      5.3

  - ### getRetainerRootId

    IDfId getRetainerRootId() throws DfException
    Returns the dm_retainer.retainer_root_id value.
    Returns:
      The retainer_root_id value.
    Throws:
      `DfException`
    Since:
      5.3

  - ### getRetentionRuleType

    int getRetentionRuleType() throws DfException
    Returns the dm_retainer.retention_rule_type value.
    Returns:
      The retention_rule_type value. Values are defined by `IDfRetentionRuleType`.
    Throws:
      `DfException`
    Since:
      5.3

  - ### getRetentionDate

    IDfTime getRetentionDate() throws DfException
    Returns the dm_retainer.retention_date value.
    Specified by:
      `getRetentionDate` in interface `IDfSysObject`
    Returns:
      The retention_date value.
    Throws:
      `DfException`
    Since:
      5.3

  - ### getRetentionInterval

    int getRetentionInterval() throws DfException
    Returns the dm_retainer.retention_interval value.
    Returns:
      The retention_interval value.
    Throws:
      `DfException`
    Since:
      5.3

  - ### setRenditionRule

    void setRenditionRule(int renditionRule) throws DfException
    Sets the dm_retainer.rendition_rule value.

    The retainer can specify that retention applies to all content for the object or for only the primary content.
    Parameters:
      `renditionRule` - rendition rule. Values are defined by `IDfRetainerRenditionRule`.
    Throws:
      `DfException`

  - ### getRenditionRule

    int getRenditionRule() throws DfException
    Returns the dm_retainer.rendition_rule value.
    Returns:
      The rendition rule. Values are defined by `IDfRetainerRenditionRule`.
    Throws:
      `DfException`
    Since:
      5.3

  - ### setImmutabilityRule

    void setImmutabilityRule(int immutabilityRule) throws DfException
    Sets the dm_retainer.immutability_rule value.

    When the immutability rule is set ON, objects placed under retention by this retainer will also be marked immutable so that meta-data changes are generally disallowed.

    The default behavior is OFF, objects placed under retention by this retainer are not marked immutable. But updates to primary content are still disallowed by default retention rules.
    Parameters:
      `immutabilityRule` - The immutability rule. Values are defined by `IDfRetainerImmutabilityRule`.
    Throws:
      `DfException`
    Since:
      5.3

  - ### getImmutabilityRule

    int getImmutabilityRule() throws DfException
    Returns the dm_retainer.immutability_rule value.
    Returns:
      The immutability rule. Values are defined by `IDfRetainerImmutabilityRule`.
    Throws:
      `DfException`
    Since:
      5.3

  - ### setEnforcementRule

    void setEnforcementRule(int enforcementRule) throws DfException
    Sets the dm_retainer.enforcement_rule value.
    Parameters:
      `enforcementRule` - The enforcement rule. Values are defined by `IDfRetainerEnforcementRule`.
    Throws:
      `DfException`
    Since:
      5.3

  - ### getEnforcementRule

    int getEnforcementRule() throws DfException
    Returns the dm_retainer.enforcement_rule value.
    Returns:
      The enforcement rule. Values are defined by `IDfRetainerEnforcementRule`.
    Throws:
      `DfException`
    Since:
      5.3

  - ### setDispositionRule

    void setDispositionRule(int dispositionRule) throws DfException
    Sets the dm_retainer.disposition_rule value.
    Parameters:
      `dispositionRule` - The disposition rule. Values are defined by `IDfRetainerDispositionRule`.
    Throws:
      `DfException`
    Since:
      5.3

  - ### getDispositionRule

    int getDispositionRule() throws DfException
    Returns the dm_retainer.disposition_rule value.
    Returns:
      The disposition rule. Values are defined by `IDfRetainerDispositionRule`.
    Throws:
      `DfException`
    Since:
      5.3

  - ### setRetentionStorageClass

    void setRetentionStorageClass(String retentionStorageClass) throws DfException
    Sets the dm_retainer.retention_storage_class value.

    This field is reserved for future use, it is not currently used in retention management.
    Parameters:
      `retentionStorageClass` - The retention_storage_class value.
    Throws:
      `DfException`
    Since:
      5.3

  - ### getRetentionStorageClass

    String getRetentionStorageClass() throws DfException
    Returns the dm_retainer.retention_storage_class value.
    Returns:
      The retention_storage_class setting.
    Throws:
      `DfException`
    Since:
      5.3

  - ### changeRetentionStatus

    void changeRetentionStatus(int retentionStatus) throws DfException
    This call changes the status of the dm_retainer object.

    Once a retainer is marked INACTIVE, it no longer protects the objects linked to it from changes or deletion. Once INACTIVE, a retainer cannot be made ACTIVE again.

    When a retainer status is set to LOCKED, new objects cannot be linked to it.

    This call changes the status of the retainer immediately, without requiring a `save` call.
    Parameters:
      `retentionStatus` - The new status. Values are defined by `IDfRetentionStatus`.
    Throws:
      `DfException`
    Since:
      5.3

  - ### getRetentionStatus

    int getRetentionStatus() throws DfException
    Returns the dm_retainer.r_retention_status value.
    Returns:
      The retention status. Values are defined by `IDfRetentionStatus`.
    Throws:
      `DfException`
    Since:
      5.3

  - ### setAgingMethod

    void setAgingMethod(int aging_method) throws DfException
    Sets the dm_retainer.aging_method value. This field specifies if the retainer is a fixed retainer, conditional retainer or does not age Specifying the value to 0 for fixed retainer / chronological retainer, 1 for conditional retainer and 2 to specify it does not age.
    Parameters:
      `aging_method` - , either CHRONOLOGICAL, CONDITIONAL, DOES_NOT_AGE .
    Throws:
      `DfException`
    Since:
      6.0

  - ### getAgingMethod

    int getAgingMethod() throws DfException
    Returns the dm_retainer.aging_method value.
    Returns:
      The aging_method setting.
    Throws:
      `DfException`
    Since:
      6.0