Package com.documentum.fc.client

# Interface IDfSysObject

All Superinterfaces:
  `IDfPersistentObject`, `IDfTypedObject`

All Known Subinterfaces:
  `IDfAcsConfig`, `IDfActivity`, `IDfBocsConfig`, `IDfContentTransferConfig`, `IDfDmsConfig`, `IDfDocument`, `IDfFolder`, `IDfLocation`, `IDfMethodObject`, `IDfMountPoint`, `IDfNote`, `IDfPlugin`, `IDfPolicy`, `IDfProcess`, `IDfRetainer`, `IDfRouter`, `IDfSearchResults`, `IDfSmartList`, `IDfSysObjectStream`, `IDfValidationDescriptor`

public interface IDfSysObject extends IDfPersistentObject
This class provides the functionality for the client to interact with "dm_sysobject" objects in the repository. It extends DfPersistentObject

- ## 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
  `IDfId`
  `addDigitalSignature(String userName, String reason)`
  Create an audit trail entry that records the signing of a DfSysObject by a user.
  `IDfId`
  `addESignature(String userName, String password, String signatureJustification, String formatToSign, String hashAlgorithm, String preSignatureHash, String signatureMethodName, String applicationProperties, String passThroughArgument1, String passThroughArgument2)`
  Electronically sign a sysobject.
  `void`
  `addNote(IDfId targetId, boolean keepPermanent)`
  Adds an annotation (the current IDfSysObject) to the target object.
  `IDfId`
  `addReference(IDfId folderId, String bindingCondition, String bindingLabel)`
  Add a reference to the object in another folder.
  `void`
  `addRendition(String fileName, String formatName)`
  Adds a new rendition to the object.
  `void`
  `addRenditionEx(String fileName, String formatName, int pageNumber, String storageName, boolean atomic)`
  This is the extended method for adding a new rendition to the object..
  `void`
  `addRenditionEx2(String fileName, String formatName, int pageNumber, String pageModifier, String storageName, boolean atomic, boolean keep, boolean batch)`
  This is the extended method for adding a new rendition to the object..
  `void`
  `addRenditionEx3(String fileName, String formatName, int pageNumber, String pageModifier, String storageName, boolean atomic, boolean keep, boolean batch, String otherFileName)`
  This is the extended method for adding a new rendition to the object..
  `void`
  `appendContent(ByteArrayOutputStream content)`
  Appends new content to an object.
  `void`
  `appendContentEx(ByteArrayOutputStream content, boolean other)`
  Appends new content to an object.
  `void`
  `appendFile(String fileName)`
  Appends new content to an object.
  `void`
  `appendFileEx(String fileName, String otherFileName)`
  Appends new content to an object.
  `IDfId`
  `appendPart(IDfId componentId, String versionLabel, boolean useNodeVerLabel, boolean followAssembly, int copyChild)`
  Appends a document as the last virtual document child of the object.
  `boolean`
  `areAttributesModifiable()`
  Returns whether this object's attributes can be modified.
  `IDfCollection`
  `assemble(IDfId virtualDocId, int interruptFreq, String qualification, String nodesortList)`
  Creates an assembly and associates it with the object.
  `IDfVirtualDocument`
  `asVirtualDocument(String lateBindingValue, boolean followRootAssembly)`
  Returns a virtual document representation of the object.
  `void`
  `attachPolicy(IDfId policyId, String state, String scope)`
  Attaches a business policy object to the object.
  `void`
  `bindFile(int pageNumber, IDfId srcId, int srcPageNumber)`
  Binds content associated with an object to another object.
  `IDfId`
  `branch(String versionLabel)`
  Creates and checks out a new version of an object.
  `void`
  `cancelCheckout()`
  Removes an intention lock without saving any changes that may have been made to the locked object.
  `void`
  `cancelCheckoutEx(boolean sendMail, String compoundValue, String specialValue)`
  This is the extended method that removes an intention lock without saving any changes that may have been made to the locked object.
  `void`
  `cancelScheduledDemote(IDfTime scheduleDate)`
  This will cancel the scheduled demote of the sysobject at the date/time specifed by `scheduleDate`.
  `void`
  `cancelScheduledPromote(IDfTime scheduleDate)`
  This will cancel the scheduled promote for the date/time specified in the `scheduleDate` argument.
  `void`
  `cancelScheduledResume(IDfTime schedule)`
  This will cancel a scheduled resume of the sysobject for a certain date/time.
  `void`
  `cancelScheduledSuspend(IDfTime scheduleDate)`
  This method can be used to cancel a scheduled suspend of the sysobject at a date/time.
  `boolean`
  `canDemote()`
  Returns whether the object can be demoted from the current state.
  `boolean`
  `canPromote()`
  Returns whether the sysobject can be promoted from current state to the next state.
  `boolean`
  `canResume()`
  Returns whether the sysobject can be resumed from an exception state.
  `boolean`
  `canSuspend()`
  Returns whether the sysobject can suspend from its current state to the exception state.
  `IDfId`
  `checkin(boolean keepLock, String versionLabels)`
  Creates a new version of this object and removes the lock from the previous version.
  `IDfId`
  `checkinEx(boolean keepLock, String versionLabels, String oldCompoundArchValue, String oldSpecialAppValue, String newCompoundArchValue, String newSpecialAppValue)`
  This is the extended method for checkin.
  `void`
  `checkout()`
  Places a lock on the object.
  `IDfId`
  `checkoutEx(String versionLabel, String compoundArchValue, String specialAppValue)`
  Places a lock on the object.
  `void`
  `demote(String state, boolean toBase)`
  This method will demote the sysobject from its current normal state to the previous normal state, or to the base state if the `toBase` parameter is set to `true`.
  `void`
  `destroyAllVersions()`
  Destroys all versions of the object.
  `void`
  `detachPolicy()`
  Detaches an existing business policy object from the object.
  `void`
  `disassemble()`
  Disassembles the assembly associated with the object.
  `void`
  `freeze(boolean freezeComponents)`
  Marks an object as unchangeable (and optionally its components), if the object is a virtual document.
  `IDfTime`
  `getAccessDate()`
  Returns the date the content of this object was last accessed.
  `String`
  `getAccessorApplicationPermit(int index)`
  Returns the application permit assigned to a user or group.
  `int`
  `getAccessorCount()`
  Returns the number of users or groups for whom some level of access is defined for the object.
  `String`
  `getAccessorName(int index)`
  Returns the list of users and groups for whom some level of access is defined for the object.
  `String`
  `getAccessorPermit(int index)`
  Returns the permit levels assigned to each user or group using the computed attribute _accessor_name.
  `int`
  `getAccessorPermitType(int index)`
  Returns the permit type assigned to each user or group using the computed attribute _accessor_name.
  `int`
  `getAccessorXPermit(int index)`
  Returns the extended permission levels of the specified user or group using the computed attribute _accessor_name.
  `String`
  `getAccessorXPermitNames(int index)`
  Retrieves the extended permissions, in upper case and separated by a comma, that are assigned to each user or group.
  `IDfACL`
  `getACL()`
  Returns an ACL associated with the object.
  `String`
  `getACLDomain()`
  Returns the domain of the ACL associated with this user.
  `String`
  `getACLName()`
  Returns the name of the associated ACL.
  `boolean`
  `getAclRefValid()`
  Indicates whether the values in _accessor_name and _accessor_permit have been saved to the repository using the computed attribute _acl_ref_valid.
  `IDfEnumeration`
  `getAcsRequests(String formatName, int pageNumber, String pageModifier, IDfAcsTransferPreferences transferPreferences)`
  Returns an `IDfEnumeration` object containing a list of `IDfAcsRequest` objects.
  `String`
  `getAliasSet()`
  Returns the symbolic name of the policy alias set.
  `IDfId`
  `getAliasSetId()`
  Returns the position of alias-binding scope specified in the associated policy object.
  `IDfId`
  `getAntecedentId()`
  Returns the object id of the object's parent.
  `String`
  `getApplicationType()`
  Returns the a_application_type attribute of the object.
  `IDfId`
  `getAssembledFromId()`
  Returns the object id of the virtual document that was the source of the assembly associated with the object.
  `String`
  `getAuthors(int index)`
  Returns the authors attribute at the specified index.
  `int`
  `getAuthorsCount()`
  Returns the number of values the authors attribute has.
  `int`
  `getBranchCount()`
  Returns the number of branches on the version tree that contains the object.
  `IDfId`
  `getCabinetId()`
  Returns the object id of the cabinet that is the object's primary storage location.
  `IDfId`
  `getChronicleId()`
  Returns the object id of the root object in the version tree.
  `IDfCollection`
  `getCollectionForContent(String format, int pageNumber)`
  Returns a collection containing the object's content in the repository.
  `IDfCollection`
  `getCollectionForContentEx2(String format, int pageNumber, String pageModifier)`
  Returns a collection containing the object's content in the repository.
  `IDfCollection`
  `getCollectionForContentEx3(String format, int pageNumber, String pageModifier, boolean other)`
  Returns a collection containing the object's content in the repository.
  `IDfContentCollection`
  `getCollectionForContentEx4(String format, int pageNumber, String pageModifier, boolean other)`
  Returns a collection containing the object's content in the repository.
  `IDfId`
  `getComponentId(int index)`
  Returns the chronicle id of the component documents that make up the virtual document using the computed attribute _componentID.
  `int`
  `getComponentIdCount()`
  Returns the number of chronicle IDs of the component documents that make up the virtual document using the computed attribute _componentID.
  `String`
  `getCompoundArchitecture()`
  Used by the virtual document manager to determine if the object can be changed.
  `IDfId`
  `getContainId(int index)`
  Returns the object id of a containment object that link the component document to its containing virtual document using the computed attribute _containID.
  `int`
  `getContainIdCount()`
  Returns the number of containment objects IDs that link the component document to its containing virtual document using the computed attribute _containID.
  `ByteArrayInputStream`
  `getContent()`
  Copies this object's content from the Documentum server into a `ByteArrayInputStream` object.
  `IDfContentAvailability`
  `getContentAvailability(String formatName, int pageNumber, String pageModifier, String networkLocationIdentifier)`
  Returns content availability settings.
  `ByteArrayInputStream`
  `getContentEx(String format, int pageNumber)`
  Copies this object's content in the repository into a `ByteArrayInputStream`.
  `ByteArrayInputStream`
  `getContentEx2(String format, int pageNumber, String pageModifier)`
  Copies this object's content in the repository into a `ByteArrayInputStream`.
  `ByteArrayInputStream`
  `getContentEx3(String format, int pageNumber, String pageModifier, boolean other)`
  Copies this object's content in the repository into a `ByteArrayInputStream`.
  `IDfId`
  `getContentsId()`
  Returns the object id of the content object for an object that has only one content.
  `long`
  `getContentSize()`
  Returns the number of bytes in the content.
  `long`
  `getContentSize(int page, String formatName, String pageModifier)`
  Return the content size according to the page, format and pageModifier of the content
  `int`
  `getContentState(int index)`
  Returns the state of the content for a given sysobject using the computed attribute _content_state.
  `int`
  `getContentStateCount()`
  Returns the number of states of a content for the sysobject using the computed attribute _content_state.
  `String`
  `getContentType()`
  Returns the file format of the object's content.
  `IDfTime`
  `getCreationDate()`
  Returns the r_creation_date attribute of the object.
  `String`
  `getCreatorName()`
  Returns the name of the creator.
  `int`
  `getCurrentState()`
  Returns the current state.
  `String`
  `getCurrentStateName()`
  Returns the name of the current state.
  `String`
  `getDirectDescendant()`
  Returns whether the object has any direct descendants (versions derived directly from this object).
  `Double`
  `getDoubleContentAttr(String name, String formatName, int page, String pageModifier)`
  Return a numeric content attribute.
  `String`
  `getExceptionStateName()`
  Returns the name of the exception state associated with the current state, if any exist.
  `String`
  `getFile(String fileName)`
  Retrieves a content file from the Documentum server.
  `String`
  `getFileEx(String fileName, String formatName, int pageNumber, boolean other)`
  This is the extended method for retreiving a content file from the repository.
  `String`
  `getFileEx2(String fileName, String formatName, int pageNumber, String pageModifier, boolean other)`
  This is the extended method for retreiving a content file from the repository.
  `IDfId`
  `getFolderId(int index)`
  Returns the object id of the folder linked to this object at the given index.
  `int`
  `getFolderIdCount()`
  Returns the number of folders linked to the object.
  `IDfFormat`
  `getFormat()`
  Returns the format of the object.
  `int`
  `getFrozenAssemblyCount()`
  Returns a count of the number of frozen assemblies that contain the object.
  `boolean`
  `getFullText()`
  Returns whether the document is marked for full-text indexing.
  `String`
  `getGroupName()`
  Returns the group name to which this object belongs.
  `int`
  `getGroupPermit()`
  Returns the object-level permission assigned to the group for this object.
  `boolean`
  `getHasEvents()`
  Returns whether any users have registered to receive events for the object.
  `boolean`
  `getHasFolder()`
  Returns whether this object is the CURRENT object in the version tree.
  `boolean`
  `getHasFrozenAssembly()`
  Returns whether the document's assembly is frozen.
  `String`
  `getImplicitVersionLabel()`
  Returns the implicit version label from r_version_label.
  `String`
  `getKeywords(int index)`
  Returns the keywords attribute at the specified index.
  `int`
  `getKeywordsCount()`
  Returns the number of keywords for the object.
  `boolean`
  `getLatestFlag()`
  Indicates whether this version is the most recent version of the object on a particular branch in the version tree.
  `int`
  `getLinkCount()`
  Returns the number of objects linked to the object.
  `int`
  `getLinkHighCount()`
  Returns the current maximum order number assigned to a component.
  `IDfCollection`
  `getLocations(String attrNames)`
  Runs a query to find all the places this object is used and returns the query result as a collection.
  `IDfTime`
  `getLockDate()`
  Returns the date this object was locked.
  `String`
  `getLockMachine()`
  Returns the name of the client machine on which the object was locked.
  `String`
  `getLockOwner()`
  Returns the name of the user who locked the object.
  `String`
  `getLogEntry()`
  Returns the comment specified by the user.
  `String`
  `getMasterDocbase()`
  Returns the repository id of the repository that owns the object using the computed attribute _master_docbase.
  `String`
  `getModifier()`
  Returns the name of the user who made the last modification.
  `IDfTime`
  `getModifyDate()`
  Returns the r_modify_date attribute of the object.
  `String`
  `getNextStateName()`
  Returns the name of the next state.
  `String`
  `getObjectName()`
  Returns the object_name attribute of the object.
  `long`
  `getOtherFileSize(int page, String formatName, String pageModifier)`
  Return the other file (resource fork for mac os) size according to the page, format and pageModifier of the content
  `String`
  `getOwnerName()`
  Returns the name of this object's owner.
  `int`
  `getOwnerPermit()`
  Returns the object-level permission assigned to the owner of the object.
  `int`
  `getPageCount()`
  Returns the number of pages in the primary content.
  `String`
  `getPath(int pageNumber)`
  Retrieves the content location for an external store object.
  `String`
  `getPathEx(int pageNumber, String pageModifier)`
  Retrieves the content location for an external store object.
  `String`
  `getPathEx2(String formatName, int pageNumber, String pageModifier, boolean other)`
  Retrieves the content location for an external store object.
  `IDfList`
  `getPermissions()`
  Returns a list of `DfPermit` objects representing all the permissions specified in the ACL for the sysobject.
  `int`
  `getPermit()`
  Returns an integer number that corresponds to the access permission level that the current user has for the object.
  `int`
  `getPermitEx(String accessorName)`
  Returns an integer number that corresponds to the access permission level that the specified user or group has for the object.
  `IDfId`
  `getPolicyId()`
  Returns the object id of attached business policy object.
  `String`
  `getPolicyName()`
  Returns the name of attached business policy object.
  `String`
  `getPreviousStateName()`
  Returns the name of the previous state.
  `int`
  `getReferenceCount()`
  Returns the number of folder references made by the object.
  `IDfId`
  `getRemoteId()`
  Returns the object id of the remote object.
  `IDfCollection`
  `getRenditions(String attrNames)`
  Runs a query against the dmr_content table to return values for all the page 0 content for this object.
  `String`
  `getResolutionLabel()`
  Returns the default version label used to resolve late-bound nodes of a virtual document.
  `int`
  `getResumeState()`
  Returns the resume state.
  `String`
  `getResumeStateName()`
  Returns the resume state name.
  `int`
  `getRetainerCount()`
  Return the number of retainers on this object.
  `IDfId`
  `getRetainerId(int index)`
  Return the id of the requested retainer.
  `IDfTime`
  `getRetainUntilDate()`
  Returns the retain until date for this object.
  `IDfTime`
  `getRetentionDate()`
  Used internally.
  `IDfCollection`
  `getRouters(String additionalAttributes, String orderBy)`
  Returns a collection of routers the document participates in.
  `String`
  `getSpecialApp()`
  Reserved for use by Documentum products.
  `String`
  `getStatus()`
  Returns the a_status attribute of the object.
  `String`
  `getStorageType()`
  Returns the default storage area for content files associated with the object.
  `String`
  `getStringContentAttr(String name, String formatName, int page, String pageModifier)`
  Return a string content attribute.
  `String`
  `getSubject()`
  Returns the subject attribute of the object.
  `IDfTime`
  `getTimeContentAttr(String name, String formatName, int page, String pageModifier)`
  Return a time content attribute.
  `String`
  `getTitle()`
  Returns the title attribute of the object.
  `String`
  `getTypeName()`
  Returns the r_object_type attribute of the object.
  `IDfCollection`
  `getVdmPath(IDfId rootId, boolean shortestPath, String versionList)`
  Returns the path or paths through a virtual document that lead to a particular component.
  `IDfCollection`
  `getVdmPathDQL(IDfId rootId, boolean shortestPath, String parentType, String bindingLabel, String nodeSortBy)`
  Returns the path or paths through a virtual document that lead to a particular component.
  `String`
  `getVersionLabel(int index)`
  Returns the version label at the specified index.
  `int`
  `getVersionLabelCount()`
  Returns the number of version labels.
  `IDfVersionLabels`
  `getVersionLabels()`
  Returns an IDfVersionLabels object associated with this sysobject.
  `IDfVersionPolicy`
  `getVersionPolicy()`
  This will extract all the version labels associated with this object and return the results as an IDfVersionPolicy interface.
  `IDfCollection`
  `getVersions(String attrNames)`
  Runs a query to find all the versions of the object and returns the query results as a collection.
  `IDfCollection`
  `getWorkflows(String additionalAttributes, String orderBy)`
  Returns a collection of workflows the document currently participates in.
  `int`
  `getWorldPermit()`
  Returns the object-level permission assigned to the world for the object.
  `int`
  `getXPermit(String accessorName)`
  Returns the extended permissions, in integer form, for a specified user or group using the computed attribute _xpermit.
  `String`
  `getXPermitList()`
  Returns a list of extended permissions, separated by a comma, and supported by the server, using the computed attribute _xpermit_list.
  `String`
  `getXPermitNames(String accessorName)`
  Returns the extended permissions of a specified user or group, in string form, in upper case, and separated by a comma.
  `void`
  `grant(String accessorName, int accessorPermit, String extendedPermission)`
  Creates an access control entry in this object, assigning an access level to a specified user or group.
  `void`
  `grantPermit(IDfPermit permit)`
  Creates an access control entry in this object, assigning an access level to a specified user or group.
  `boolean`
  `hasPermission(String permission, String accessorName)`
  Returns whether there is an access control entry in this object to a specified user or group.
  `void`
  `insertContent(ByteArrayOutputStream content, int pageNumber)`
  Inserts new content into an object.
  `void`
  `insertContentEx(ByteArrayOutputStream content, int pageNumber, boolean other)`
  Inserts new content into an object.
  `void`
  `insertFile(String fileName, int pageNumber)`
  Inserts a new content file into an object.
  `void`
  `insertFileEx(String fileName, int pageNumber, String otherFileName)`
  Inserts a new content file into an object.
  `IDfId`
  `insertPart(IDfId componentID, String versionLabel, IDfId beforeContainmentId, double orderNo, boolean orderNoFlag, boolean useNodeVerLabel, boolean followAssembly, int copyChild)`
  Inserts a document into the list of virtual child documents for the object.
  `boolean`
  `isArchived()`
  Returns the a_archive attribute of the object.
  `boolean`
  `isCheckedOut()`
  Returns whether this object is checked out.
  `boolean`
  `isCheckedOutBy(String userName)`
  Returns whether this object is checked out by the specified user.
  `boolean`
  `isContentTransferCapabilityEnabled(String networkLocationIdentifier, IDfContentTransferCapability capability)`
  Returns whether content transfer capability is enabled for the object
  `boolean`
  `isFrozen()`
  Returns whether this object was specifically frozen and is now unchangeable.
  `boolean`
  `isHidden()`
  Indicates if this object is visible to the end users.
  `boolean`
  `isImmutable()`
  Returns whether this object can be changed.
  `boolean`
  `isLinkResolved()`
  Returns the a_link_resolved attribute of the object.
  `boolean`
  `isPublic()`
  Returns whether the object is public or not.
  `boolean`
  `isReference()`
  Returns whether the object is a reference object.
  `boolean`
  `isSuspended()`
  Return whether the object is in a suspended state.
  `boolean`
  `isVirtualDocument()`
  Returns true if this document should be treated as a virtual document.
  `void`
  `link(String folderSpec)`
  Associates the object with a folder or cabinet.
  `void`
  `mark(String versionLabels)`
  Assigns one or more symbolic version labels to an object.
  `void`
  `mount(String path)`
  Deprecated.
  `String`
  `print(String printer, boolean printCover, boolean saveOutput, int numCopies, int startingContentPage, int endingContentPage)`
  Prints the object.
  `void`
  `promote(String state, boolean override, boolean fTestOnly)`
  Promotes the sysobject to the state specified in the `state` argument.
  `void`
  `prune(boolean keepLabels)`
  Removes unwanted versions of an object.
  `IDfId`
  `queue(String queueOwner, String event, int priority, boolean sendMail, IDfTime dueDate, String message)`
  Places the object on a specified queue.
  `void`
  `refreshReference()`
  Refreshes the reference object.
  `void`
  `removeContent(int pageNumber)`
  Deletes content from an object.
  `void`
  `removeNote(IDfId annotationId)`
  Deprecated.
  `void`
  `removePart(IDfId containmentId, double orderNo, boolean orderNoFlag)`
  Removes a virtual document child from the object.
  `void`
  `removeRendition(String formatName)`
  Deletes a rendition from the object.
  `void`
  `removeRenditionEx(String formatName, int pageNumber, boolean atomic)`
  Deletes a rendition from the object.
  `void`
  `removeRenditionEx2(String formatName, int pageNumber, String pageModifier, boolean atomic)`
  Deletes a rendition from the object.
  `String`
  `resolveAlias(String scopeAlias)`
  Searches an alias set for a specified alias.
  `void`
  `resume(String state, boolean toBase, boolean override, boolean fTestOnly)`
  Resumes the sysobject from an exception state.
  `void`
  `revertACL()`
  Throws away unsaved permission changes.
  `void`
  `revoke(String accessorName, String extendedPermission)`
  Removes all access control entries from this object for a specified user or group.
  `void`
  `revokePermit(IDfPermit permit)`
  Removes specified permit from the sysobject.
  `IDfId`
  `saveAsNew(boolean shareContent)`
  Copies an object.
  `void`
  `saveLock()`
  Writes the object to the repository without creating a new version and directs the server to hold the intention lock on the saved object.
  `void`
  `scheduleDemote(String state, IDfTime schedule_date)`
  Schedules the sysobject to demote from its current normal state to the state defined in the `state` parameter.
  `void`
  `schedulePromote(String state, IDfTime scheduleDate, boolean override)`
  Schedules a sysobject to be promoted to the next state on a particular date/time specified by the `scheduleDate` parameter.
  `void`
  `scheduleResume(String state, IDfTime scheduleDate, boolean toBase, boolean override)`
  Schedules to resume the sysobject from an exception state to the next state at the specified date/time.
  `void`
  `scheduleSuspend(String state, IDfTime scheduleDate, boolean override)`
  Schedule a suspend of the sysobject from its current state to the exception state at a certain date/time.
  `void`
  `setACL(IDfACL acl)`
  Assigns an ACL object to the object.
  `void`
  `setACLDomain(String aclDomain)`
  Sets the domain of the ACL associated with this user.
  `void`
  `setACLName(String ACLName)`
  Sets the name of the associated ACL.
  `void`
  `setApplicationType(String type)`
  Sets the a_application_type attribute of the object.
  `void`
  `setArchived(boolean archived)`
  Sets the a_archive attribute of the object.
  `void`
  `setAuthors(int index, String author)`
  Sets the authors attribute at a specified index.
  `void`
  `setCompoundArchitecture(String compoundArchitecture)`
  Used by the virtual document manager to determine if the object can be changed.
  `boolean`
  `setContent(ByteArrayOutputStream content)`
  Sets new content to an object.
  `boolean`
  `setContentEx(ByteArrayOutputStream content, String format, int pageNumber)`
  This is the extended method for setting the content of an object.
  `boolean`
  `setContentEx2(ByteArrayOutputStream content, String format, int pageNumber, boolean other)`
  This is the extended method for setting the content of an object.
  `void`
  `setContentType(String contentType)`
  Sets the file format of the object's content.
  `void`
  `setDoubleContentAttribute(String name, double value, String formatName, int page, String pageModifier)`
  Set a numeric content attribute.
  `void`
  `setFile(String fileName)`
  Sets the content file of this object or replaces an existing content.
  `void`
  `setFileEx(String fileName, String formatName, int pageNumber, String otherFile)`
  This is the extended method for setting the content file of this object, or it replaces existing content.
  `void`
  `setFullText(boolean fullText)`
  Sets whether the document is marked for full-text indexing.
  `void`
  `setGroupName(String name)`
  Set the group name to which this object belongs.
  `void`
  `setGroupPermit(int permit)`
  Sets the object-level group permission for the object.
  `void`
  `setHidden(boolean isHidden)`
  Sets the visibility of the object for end users.
  `void`
  `setIsVirtualDocument(boolean is_virtual_doc)`
  Sets the r_is_virtual_doc attribute for the object.
  `void`
  `setKeywords(int index, String keyword)`
  Sets the keywords attribute at a specified index.
  `void`
  `setLinkResolved(boolean linkResolved)`
  Sets the a_link_resolved attribute of the object.
  `void`
  `setLogEntry(String logEntry)`
  Sets the comment specified by the user.
  `void`
  `setObjectName(String objectName)`
  Sets the object_name attribute of the object.
  `void`
  `setOwnerName(String ownerName)`
  Sets the name of the object's owner.
  `void`
  `setOwnerPermit(int permit)`
  Assigns the object-level permission to the owner of the object.
  `void`
  `setPath(String fileName, String formatName, int pageNumber, String otherFile)`
  Sets the path to a content object or replaces an existing content.
  `void`
  `setResolutionLabel(String label)`
  Sets the resolution label for the object.
  `void`
  `setSpecialApp(String specialApp)`
  Reserved for use by Documentum products.
  `void`
  `setStatus(String status)`
  Sets the a_status attribute of the object.
  `void`
  `setStorageType(String type)`
  Sets the storage area for content files associated with the object.
  `void`
  `setStringContentAttribute(String name, String value, String formatName, int page, String pageModifier)`
  Set a String content attribute.
  `void`
  `setSubject(String subject)`
  Sets the subject attribute of the object.
  `void`
  `setTimeContentAttribute(String name, IDfTime value, String formatName, int page, String pageModifier)`
  Set a Date/Time content attribute.
  `void`
  `setTitle(String title)`
  Sets the title attribute of the object.
  `void`
  `setWorldPermit(int permit)`
  Sets the object-level permission assigned to the world for the object.
  `void`
  `suspend(String state, boolean override, boolean fTestOnly)`
  Suspends the sysobject from its current state to the exception state.
  `void`
  `unfreeze(boolean thawComponents)`
  Unfreezes a frozen object, and optionally if the object is a virtual document, it unfreezes the object's associated assembly.
  `void`
  `unlink(String folderSpec)`
  Removes a link between the object and a folder or cabinet.
  `void`
  `unmark(String versionLabels)`
  Removes symbolic labels from an object.
  `void`
  `updatePart(IDfId containmentId, String versionLabel, double orderNumber, boolean useNodeVerLabel, boolean followAssembly, int copyChild)`
  Modifies a child dmr_containment attribute value.
  `void`
  `updatePartEx(IDfId containmentId, String versionLabel, double orderNumber, boolean useNodeVerLabel, boolean followAssembly, int copyChild, String containType, String containDesc)`
  `void`
  `useACL(String aclType)`
  Assigns an ACL specification to the object.
  `void`
  `verifyESignature()`
  Verify the signature on an electronically signed sysobject.

  ### 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.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

  - ### saveAsNew

    IDfId saveAsNew(boolean shareContent) throws DfException
    Copies an object.
    Parameters:
      `shareContent` - Determines if the content of this object is shared with the new object.
    Returns:
      the object id of the new copy.
    Throws:
      `DfException` - if a server error occurs.

  - ### areAttributesModifiable

    boolean areAttributesModifiable() throws DfException
    Returns whether this object's attributes can be modified.
    Throws:
      `DfException` - if a server error occurs.

  - ### isImmutable

    boolean isImmutable() throws DfException
    Returns whether this object can be changed. This method returns the value of the r_immutable_flag attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### isPublic

    boolean isPublic() throws DfException
    Returns whether the object is public or not. This method returns the value of the r_is_public attribute of the object.
    Returns:
      `true` if the object is public.
    Throws:
      `DfException` - if a server error occurs.

  - ### getObjectName

    String getObjectName() throws DfException
    Returns the object_name attribute of the object.
    Throws:
      `DfException`

  - ### setObjectName

    void setObjectName(String objectName) throws DfException
    Sets the object_name attribute of the object.
    Parameters:
      `objectName` - specifies the name of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getTypeName

    String getTypeName() throws DfException
    Returns the r_object_type attribute of the object.
    Throws:
      `DfException`

  - ### getTitle

    String getTitle() throws DfException
    Returns the title attribute of the object.
    Throws:
      `DfException`

  - ### setTitle

    void setTitle(String title) throws DfException
    Sets the title attribute of the object.
    Parameters:
      `title` - specifies the title of the object
    Throws:
      `DfException` - if a server error occurs

  - ### getSubject

    String getSubject() throws DfException
    Returns the subject attribute of the object.
    Throws:
      `DfException`

  - ### setSubject

    void setSubject(String subject) throws DfException
    Sets the subject attribute of the object.
    Parameters:
      `subject` - specifies the subject of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getAuthorsCount

    int getAuthorsCount() throws DfException
    Returns the number of values the authors attribute has.
    Throws:
      `DfException` - if a server error occurs.

  - ### getAuthors

    String getAuthors(int index) throws DfException
    Returns the authors attribute at the specified index.
    Parameters:
      `index` - specifies the index at which the author is placed.
    Throws:
      `DfException` - if a server error occurs.

  - ### setAuthors

    void setAuthors(int index, String author) throws DfException
    Sets the authors attribute at a specified index.
    Parameters:
      `index` - specifies the index at which the author is placed
      `author` - specifies the author at the specified index
    Throws:
      `DfException` - if a server error occurs.

  - ### getKeywordsCount

    int getKeywordsCount() throws DfException
    Returns the number of keywords for the object. keywords
    Throws:
      `DfException` - if a server error occurs.

  - ### getKeywords

    String getKeywords(int index) throws DfException
    Returns the keywords attribute at the specified index.
    Throws:
      `DfException` - if a server error occurs.

  - ### setKeywords

    void setKeywords(int index, String keyword) throws DfException
    Sets the keywords attribute at a specified index.
    Parameters:
      `index` - specifies the index at which the keyword is placed.
      `keyword` - specifies the keyword at the specified index.
    Throws:
      `DfException` - if a server error occurs.

  - ### getApplicationType

    String getApplicationType() throws DfException
    Returns the a_application_type attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### setApplicationType

    void setApplicationType(String type) throws DfException
    Sets the a_application_type attribute of the object.
    Parameters:
      `type` - specifies the application type.
    Throws:
      `DfException` - if a server error occurs.

  - ### getSpecialApp

    String getSpecialApp() throws DfException
    Reserved for use by Documentum products. This method returns the value of the a_special_app attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### setSpecialApp

    void setSpecialApp(String specialApp) throws DfException
    Reserved for use by Documentum products. This method sets the value of the a_special_app attribute of the object.
    Parameters:
      `specialApp` - specifies the special application information.
    Throws:
      `DfException` - if a server error occurs.

  - ### isHidden

    boolean isHidden() throws DfException
    Indicates if this object is visible to the end users. This method returns the value of the a_is_hidden attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### setHidden

    void setHidden(boolean isHidden) throws DfException
    Sets the visibility of the object for end users. This method sets the a_is_hidden attribute of the object.
    Parameters:
      `isHidden` - specifies the visibility of the object for end users.
    Throws:
      `DfException` - if a server error occurs.

  - ### getStatus

    String getStatus() throws DfException
    Returns the a_status attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### setStatus

    void setStatus(String status) throws DfException
    Sets the a_status attribute of the object.
    Parameters:
      `status` - specifies status.
    Throws:
      `DfException` - if a server error occurs.

  - ### getCreationDate

    IDfTime getCreationDate() throws DfException
    Returns the r_creation_date attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getAccessDate

    IDfTime getAccessDate() throws DfException
    Returns the date the content of this object was last accessed. This method returns the value of the r_access_date attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getModifyDate

    IDfTime getModifyDate() throws DfException
    Returns the r_modify_date attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getModifier

    String getModifier() throws DfException
    Returns the name of the user who made the last modification. This method returns the value of the r_modifier attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getRetentionDate

    IDfTime getRetentionDate() throws DfException
    Used internally. This method returns the value of the a_retention_date attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### isArchived

    boolean isArchived() throws DfException
    Returns the a_archive attribute of the object.
    Returns:
      the a_archive attribute of this object
    Throws:
      `DfException` - if a server error occurs.

  - ### setArchived

    void setArchived(boolean archived) throws DfException
    Sets the a_archive attribute of the object.
    Parameters:
      `archived` - specifies the object has been archived.
    Throws:
      `DfException` - if a server error occurs.

  - ### getFullText

    boolean getFullText() throws DfException
    Returns whether the document is marked for full-text indexing. This method returns the value of the a_full_text attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### setFullText

    void setFullText(boolean fullText) throws DfException
    Sets whether the document is marked for full-text indexing. This method sets the value of the a_full_text attribute of the object.
    Parameters:
      `fullText` - specifies whether the document is marked for full-text indexing.
    Throws:
      `DfException` - if a server error occurs.

  - ### getLogEntry

    String getLogEntry() throws DfException
    Returns the comment specified by the user. This method returns the value of the log_entry attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### setLogEntry

    void setLogEntry(String logEntry) throws DfException
    Sets the comment specified by the user. This method sets the value of the log_entry attribute of the object.
    Parameters:
      `logEntry` - specifies the user-defined comment
    Throws:
      `DfException` - if a server error occurs.

  - ### saveLock

    void saveLock() throws DfException
    Writes the object to the repository without creating a new version and directs the server to hold the intention lock on the saved object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getLockOwner

    String getLockOwner() throws DfException
    Returns the name of the user who locked the object. This method returns the value of the r_lock_owner attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getLockDate

    IDfTime getLockDate() throws DfException
    Returns the date this object was locked. This method returns the value of the r_lock_date attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getLockMachine

    String getLockMachine() throws DfException
    Returns the name of the client machine on which the object was locked. This method returns the value of the r_lock_machine attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getAntecedentId

    IDfId getAntecedentId() throws DfException
    Returns the object id of the object's parent. This method returns the value of the i_antecedent_id attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getChronicleId

    IDfId getChronicleId() throws DfException
    Returns the object id of the root object in the version tree. This method returns the value of the i_chronicle_id attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getVersions

    IDfCollection getVersions(String attrNames) throws DfException
    Runs a query to find all the versions of the object and returns the query results as a collection. The `attrNames` parameter is used to specify the "select" portion of the query. If `attrNames` is `null`, the following default attributes are used: r_version_label, r_modify_date, r_modifier, log_entry, object_name, r_object_type, a_content_type, r_lock_owner, r_link_cnt, r_object_id.
    Note: For reasons of backward compatibility, the executed query contains the following clause: "ORDER BY r_modify_date desc, r_object_id". If the caller of this method overrides the default set of attributes by passing a non-`null` value for attrNames, the query may fail if:
    1) the passed-in set of attributes does not include both r_modify_date and r_object_id AND
    2) the `distinct_query_results` flag has been set to true in the server.ini file of the underlying repository. (See the Content Server Administrator's Guide for more details on the server.ini.)
    The default value for the `distinct_query_results` flag is false, so this is not normally a problem. However, if you are overriding the default set of attributes, it is recommended that you include the attributes r_modify_date and r_object_id so that the code is portable across docbases regardless of how they are configured.
    Parameters:
      `attrNames` - specifies a comma-delimited list of the desired attributes. If set to `null`, the query uses a default set of attributes.
    Returns:
      a collection of DfTypedObject interfaces for all the versions of the object.
    Throws:
      `DfException` - if `attrNames` is invalid.

  - ### getVersionPolicy

    IDfVersionPolicy getVersionPolicy() throws DfException
    This will extract all the version labels associated with this object and return the results as an IDfVersionPolicy interface. The returned IDfVersionPolicy interface will contain the complete version tree for the sysobject.
    Returns:
      an IDfVersionPolicy interface containing version information for the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getLatestFlag

    boolean getLatestFlag() throws DfException
    Indicates whether this version is the most recent version of the object on a particular branch in the version tree. This method returns the value of the i_latest_flag attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getImplicitVersionLabel

    String getImplicitVersionLabel() throws DfException
    Returns the implicit version label from r_version_label. For example, if the version labels for an object are "1.2,CURRENT", the string "1.2" will be returned.
    Throws:
      `DfException` - if a server error occurs

  - ### mark

    void mark(String versionLabels) throws DfException
    Assigns one or more symbolic version labels to an object.

    Before you can use the `mark` method, you must `checkout` the specified object. After you execute the `mark` method, you must `checkin` or `save` the object to keep the new label or labels.

    Note: If the object is a virtual document, you must use `checkin` the the object; you cannot use `save` to make the changes effective.

    The following code example demonstrates how to create a document and assign a symbolic version label. Assuming the prior version label is "1.0,CURRENT", the code below will set it to "1.1,APPROVED,CURRENT":

    >      IDfSysObject sysObj = (IDfSysObject)sess.getObject(new DfId("0900d5bb8001fd49"));
    >      if (!sysObj.isCheckedOut())
    >      {
    >           sysObj.checkout();
    >      }
    >      sysObj.mark("APPROVED");
    >      sysObj.checkin (false, "");

    Parameters:
      `versionLabels` - defines the label that you want to assign to the object. You can specify one implicit label and/or one or more symbolic labels.
    Throws:
      `DfException` - if a server error occurs.
    See Also:
      - `unmark(java.lang.String)`

  - ### unmark

    void unmark(String versionLabels) throws DfException
    Removes symbolic labels from an object.
    Parameters:
      `versionLabels` - Defines the label that you want to remove from the object. You can specify one implicit label and/or one or more symbolic labels.
    Throws:
      `DfException` - if a server error occurs.

  - ### getVersionLabels

    IDfVersionLabels getVersionLabels() throws DfException
    Returns an IDfVersionLabels object associated with this sysobject.
    Returns:
      an IDfVersionLabels object.
    Throws:
      `DfException` - if failed to create a new DfVersionLabels object or if a server error occurs.

  - ### getVersionLabelCount

    int getVersionLabelCount() throws DfException
    Returns the number of version labels. For example, the version label "1.0,CURRENT" will yield a count of 2.
    Returns:
      the number of version labels
    Throws:
      `DfException` - if a server error occurs

  - ### getVersionLabel

    String getVersionLabel(int index) throws DfException
    Returns the version label at the specified index. This method returns the value of the r_version_label attribute of the object at the given index.
    Throws:
      `DfException` - if a server error occurs.

  - ### branch

    IDfId branch(String versionLabel) throws DfException
    Creates and checks out a new version of an object. Performs DMCL "branch".
    Parameters:
      `versionLabel` - specifies the object version from which you want to branch.
    Returns:
      the object id of the new version of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getBranchCount

    int getBranchCount() throws DfException
    Returns the number of branches on the version tree that contains the object. This method returns the value of the i_branch_cnt attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getDirectDescendant

    String getDirectDescendant() throws DfException
    Returns whether the object has any direct descendants (versions derived directly from this object). The default is false. This method returns the value of the i_direct_dsc attribute of the object.
    Returns:
      returns a "T" if the object has direct descendants, "F" otherwise.
    Throws:
      `DfException` - if a server error occurs.

  - ### checkout

    void checkout() throws DfException
    Places a lock on the object.

    The user executing the method must have at least Version permission on the object being checked out. Executing `checkout` sets the r_lock_machine attribute for the checked out object. This attribute records the machine name of the client machine on which the user is working.

    The following code example demonstrates how to checkout an object and copy the file from the Documentum server to the local drive (current working directory):

    >      IDfSysObject sysObj = (IDfSysObject)sess.getObject(new DfId("0900d5bb8001fd49"));
    >      if (!sysObj.isCheckedOut())
    >      {
    >           sysObj.checkout();
    >           sysObj.getFile(sysObj.getObjectName());
    >      }

    Throws:
      `DfException` - if a server error occurs.
    See Also:
      - `checkin(boolean, java.lang.String)`
      - `cancelCheckout()`
      - `getFile(java.lang.String)`

  - ### checkoutEx

    IDfId checkoutEx(String versionLabel, String compoundArchValue, String specialAppValue) throws DfException
    Places a lock on the object. This is the extended checkout method.

    The user executing the method must have at least Version permission on the object being checked out.

    The methods checks out the version specified in the versionLabel argument. If that version is not found, the method fails. The compoundArchValue sets the a_compound_architecture attribute. Setting the attribute to a value other than an empty string affects the behavior of the Virtual Document Manager when this object is opened in VDM. If the attribute is set to any value other than an empty string, VDM assumes that the object is readonly and will not allow structural changes on the object.

    The specialAppvalue argument sets the a_special_app attribute of the object. Setting the attribute to a value other than an empty string affects how Content Server and some EMC Documentum clients perceive the object. If there is any value other than an empty string in a_special_app, the system assumes that another application currently has control of the object.

    Parameters:
      `versionLabel` - Identifies the version of the object. This can be an implicit or symbolic version label.
      `compoundArchValue` - Sets the a_compound_architecture attribute of the object. The attribute is a string attribute with a length of 16.
      `specialAppValue` - Sets the a_special_app attribute of the object. The attribute is a string attribute with a length of 32.
    Returns:
      returns the id of the specified object.
    Throws:
      `DfException` - if a server error occurs.

  - ### cancelCheckout

    void cancelCheckout() throws DfException
    Removes an intention lock without saving any changes that may have been made to the locked object.

    Executing `cancelCheckout` clears the object's r_lock_machine attribute (when an object is checked out, this attribute is set to the name of the client machine on which the user who locked the object was working). Performs a DMCL "unlock".

    The following code example demonstrates how to cancel a checked out object:

    >      IDfSysObject sysObj = (IDfSysObject)sess.getObject(new DfId("0900d5bb8001fd49"));
    >      if (sysObj.isCheckedOut())
    >      {
    >           sysObj.cancelCheckout();
    >      }

    Throws:
      `DfException` - if a server error occurs.
    See Also:
      - `checkout()`
      - `checkoutEx(java.lang.String, java.lang.String, java.lang.String)`

  - ### cancelCheckoutEx

    void cancelCheckoutEx(boolean sendMail, String compoundValue, String specialValue) throws DfException
    This is the extended method that removes an intention lock without saving any changes that may have been made to the locked object.
    Parameters:
      `sendMail` - Directs the server to send electronic mail to the lock owner, notifying the user that the lock is being removed.
      `compoundValue` - Sets the a_compound_architecture attribute of the object.
      `specialValue` - Sets the a_special_app attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### checkin

    IDfId checkin(boolean keepLock, String versionLabels) throws DfException
    Creates a new version of this object and removes the lock from the previous version.

    To use the `checkin` method, the following conditions must be met:

    - The object must have been retrieved from the repository with a checkout method.
    - The user must have at least Version permission on the object.
    - The user must have at least Write permission on the cabinet or folder in which the object is stored if the repository is running with folder security.
    Note: Folder security is on by default when a repository is configured. The folder security setting is recorded in the folder_security attribute of the docbase config object.

    The `checkin` method unlocks an object and saves any changes you may have made to either its attributes or its content. (Note that to make changes to the content, you must issue explicit methods, such as `getFile` and `setFile`, to get and set the content after you `checkout` the object and before you issue the `checkin`).

    Executing this method clears the object's r_lock_machine, r_lock_owner, and r_lock_date attributes and sets the a_archive attribute to FALSE. Additionally, if the object is a policy object, the method sets the r_definition_state to DRAFT for the new version and clones the following attributes:

    - entry_criteria_id
    - user_criteria_id
    - action_object_id
    - user_action_id
    - type_override_id
    The primary content associated with the new version is stored in the storage area specified in default_storage attribute of the content's dm_format object if that attribute is set. If the storage area is not defined in the format object, the content is stored in the storage area identified in the default_storage attribute of the object's object type. You can override either default storage area by executing an explicit method to set the a_storage_type attribute of the object before the check in.

    The following code example demonstrates how to checkin an object using the default version labels, and to not retain a lock on the newly created version:

    >      IDfSysObject sysObj = (IDfSysObject)sess.getObject(new DfId("0900d5bb8001fd49"));
    >      if (sysObj.isCheckedOut())
    >      {
    >           sysObj.setFile(sysObj.getObjectName());
    >           IDfId newSysObjId = sysObj.checkin(false, "");
    >      }

    Parameters:
      `keepLock` - set to `true` to place a lock on the newly created version.
      `versionLabels` - defines the version label for the new version. You can specify more than one label. If you do not define a label, the server automatically gives the new version an implicit version label and the symbolic label "CURRENT".
    Returns:
      the object id of the new version of the object.
    Throws:
      `DfException` - if a server error occurs.
    See Also:
      - `checkout()`
      - `checkoutEx(java.lang.String, java.lang.String, java.lang.String)`
      - `getFile(java.lang.String)`
      - `setFile(java.lang.String)`

  - ### checkinEx

    IDfId checkinEx(boolean keepLock, String versionLabels, String oldCompoundArchValue, String oldSpecialAppValue, String newCompoundArchValue, String newSpecialAppValue) throws DfException
    This is the extended method for checkin.

    Note: This method differs from `checkin` by providing arguments to set application-specific attributes. To use the `checkinEx` method, the following conditions must be met:

    - The object must have been retrieved from the repository with a checkout method.
    - The user must have at least Version permission on the object.
    - The user must have at least Write permission on the cabinet or folder in which the object is stored if the repository is running with folder security.
    Note: Folder security is on by default when a repository is configured. The folder security setting is recorded in the folder_security attribute of the docbase config object.

    The `checkin` method unlocks an object and saves any changes you may have made to either its attributes or its content. (Note that to make changes to the content, you must issue explicit methods, such as `getFile` and `setFile`, to get and set the content after you `checkout` the object and before you issue the `checkinEx`).

    Executing this method clears the object's r_lock_machine, r_lock_owner, and r_lock_date attributes and sets the a_archive attribute to FALSE. Additionally, if the object is a policy object, the method sets the r_definition_state to DRAFT for the new version and clones the following attributes:

    - entry_criteria_id
    - user_criteria_id
    - action_object_id
    - user_action_id
    - type_override_id
    The primary content associated with the new version is stored in the storage area specified in default_storage attribute of the content's dm_format object if that attribute is set. If the storage area is not defined in the format object, the content is stored in the storage area identified in the default_storage attribute of the object's object type. You can override either default storage area by executing an explicit method to set the a_storage_type attribute of the object before the check in.

    The oldCompoundArchValue and newCompoundArchValue arguments allow you to set the a_compound_architecture attribute of the object you are checking in and new version of the object. Setting the attribute to a value other than an empty string affects the behavior of the Virtual Document Manager when the object is opened in the VDM. If the attribute is set to any value other than an empty string, VDM assumes that the object is readonly and will not allow structural changes on the object.

    The oldSpecialAppvalue and newSpecialAppvalue arguments set the a_special_app attribute of the object you are checking in and the new version of the object. Setting the attribute to a value other than an empty string affects how Content Server and some EMC Documentum clients perceive the object. If there is any value other than an empty string in a_special_app, the system assumes that another application currently has control of the object.

    Parameters:
      `keepLock` - Determines whether a lock is placed on the newly created version.
      `versionLabels` - Defines the version label for the new version. You can specify more than one label. If you do not define a label, the server automatically gives the new version an implicit version label and the symbolic label CURRENT.
      `oldCompoundArchValue` - Sets the a_compound_architecture attribute of the checked-out object.
      `oldSpecialAppValue` - Sets the a_special_app attribute of the checked-out object.
      `newCompoundArchValue` - Sets the a_compound_architecture attribute of the new version created by the check in.
      `newSpecialAppValue` - Sets the a_special_app attribute of the new version created by the checkin.
    Returns:
      returns the id of the new version.
    Throws:
      `DfException` - if a server error occurs.

  - ### isCheckedOut

    boolean isCheckedOut() throws DfException
    Returns whether this object is checked out.
    Returns:
      `true` if this object is checked out.
    Throws:
      `DfException` - if a server error occurs.

  - ### isCheckedOutBy

    boolean isCheckedOutBy(String userName) throws DfException
    Returns whether this object is checked out by the specified user. If the specified user i.e. `userName` is null or an empty string, the user name from the current session is used.
    Parameters:
      `userName` - identifies the name the user.
    Returns:
      `true` if this object is checked out by the specified user.
    Throws:
      `DfException` - if a server error occurs.

  - ### prune

    void prune(boolean keepLabels) throws DfException
    Removes unwanted versions of an object.
    Throws:
      `DfException` - if a server error occurs.

  - ### destroyAllVersions

    void destroyAllVersions() throws DfException
    Destroys all versions of the object. You must have DELETE permission for the original version of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getReferenceCount

    int getReferenceCount() throws DfException
    Returns the number of folder references made by the object. This method returns the value of the i_reference_cnt attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getHasFolder

    boolean getHasFolder() throws DfException
    Returns whether this object is the CURRENT object in the version tree. This method returns the value of the i_has_folder attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getFolderIdCount

    int getFolderIdCount() throws DfException
    Returns the number of folders linked to the object.
    Returns:
      the number of folders linked to the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getFolderId

    IDfId getFolderId(int index) throws DfException
    Returns the object id of the folder linked to this object at the given index. This method returns the value of the i_folder_id attribute of the object given the specified index.
    Throws:
      `DfException` - if a server error occurs.

  - ### getCabinetId

    IDfId getCabinetId() throws DfException
    Returns the object id of the cabinet that is the object's primary storage location. This method returns the value of the i_cabinet_id attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### link

    void link(String folderSpec) throws DfException
    Associates the object with a folder or cabinet.

    The first execution of `link` for an object defines the object's primary link, the place where the object is stored in the repository. Subsequent executions link the object to other folders or cabinets. These are called secondary links.

    Executing `link` has the following permission requirements:

    - To create a primary link, the user must have at least Write permission on the object and Change Location permission on the object.
    - To create a secondary link, the user must have at least Browse permission on the object and Change Location permission for the object.
    - If the repository is running under folder security, the user must also have at least Write permission on the folder or cabinet to which the object is being linked.
    You cannot execute `link` against a cabinet object. That is, cabinets cannot be linked to folders or other cabinets. A `link` operation is not committed until a `save` or `checkin` is performed.

    The following code example demonstrates how to create a document and link it to a specific cabinet and folder:

    >      IDfSysObject sysObj = (IDfSysObject)sess.newObject("dm_document");
    >      sysObj.setObjectName("testDoc");
    >      sysObj.setContentType("crtext");
    >      sysObj.setFile("c:\\dfc101.txt");
    >      sysObj.link("/DFCObjCab/DFCObjFolder");
    >      sysObj.save();

    Parameters:
      `folderSpec` - Defines the folder or cabinet to which you want to link the object. You can use either the folder or cabinet's object ID or its folder path.
    Throws:
      `DfException` - if a server error occurs.
    See Also:
      - `unlink(java.lang.String)`

  - ### unlink

    void unlink(String folderSpec) throws DfException
    Removes a link between the object and a folder or cabinet.

    Executing `unlink` has the following permission requirements:

    - To unlink an object from a primary link, the user must have at least Write permission on the object and Change Location permission on the object.
    - To unlink an object from a secondary link, the user must have at least Browse permission on the object and Change Location permission for the object.
    - If the repository is running under folder security, the user must also have at least Write permission on the folder or cabinet from which the object is being unlinked.
    The folders and cabinets to which an object is linked are recorded in the repeating attribute i_folder_id. The first recorded folder or cabinet (in i_folder_id[0]) represents the object's primary link. The folders or cabinets recorded in the remaining index positions in the attribute represent the object's secondary links.

    When you unlink an object, the entry in the attribute for the specified folder or cabinet is removed and the entries in subsequent index positions are shifted up one position.

    Documents and folders must have at least one link to a folder or cabinet. Consequently, if you `unlink` an object from its only link, you must relink it to some folder or cabinet before saving or checking in the object.

    This operation is not committed until a `save` or a `checkin` is performed. The following code example demonstrates how unlink an object from a source cabinet and relink it to a target cabinet:

    >      IDfSysObject sysObj = (IDfSysObject)sess.getObject(new DfId("0900d5bb8001fd49"));
    >      sysObj.unlink("/DFCSourceCab");
    >      sysObj.link("/DFCTargetCab");
    >      sysObj.save();

    Parameters:
      `folderSpec` - Defines the folder or cabinet from which you want to unlink the object. You can use either the folder or cabinet's object ID or its folder path.
    Throws:
      `DfException` - if a server error occurs.
    See Also:
      - `link(java.lang.String)`

  - ### getLocations

    IDfCollection getLocations(String attrNames) throws DfException
    Runs a query to find all the places this object is used and returns the query result as a collection. The `attrNames` are used to specify the "select" portion of the query. Results are sorted by the first element in `attrNames`.
    Parameters:
      `attrNames` - specifies the desired attributes.
    Returns:
      a collection of DfTypedObject interfaces.
    Throws:
      `DfException` - if attrNames are invalid.

  - ### getCreatorName

    String getCreatorName() throws DfException
    Returns the name of the creator. This method returns the value of the r_creator_name attribute of the object.
    Returns:
      the name of the creator.
    Throws:
      `DfException` - if a server error occurs.

  - ### getOwnerName

    String getOwnerName() throws DfException
    Returns the name of this object's owner. This method returns the value of the owner_name attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### setOwnerName

    void setOwnerName(String ownerName) throws DfException
    Sets the name of the object's owner. This method sets the value of the owner_name attribute of the object.
    Parameters:
      `ownerName` - specifies the name of the object's owner.
    Throws:
      `DfException` - if a server error occurs.

  - ### getOwnerPermit

    int getOwnerPermit() throws DfException
    Returns the object-level permission assigned to the owner of the object. This method returns the value of the owner_permit attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### setOwnerPermit

    void setOwnerPermit(int permit) throws DfException
    Assigns the object-level permission to the owner of the object. This method sets the value of the owner_permit attribute of the object.
    Parameters:
      `permit` - specifies the object-level permission to the owner of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getGroupName

    String getGroupName() throws DfException
    Returns the group name to which this object belongs. This method returns the value of the group_name attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### setGroupName

    void setGroupName(String name) throws DfException
    Set the group name to which this object belongs. This method sets the value of the group_name attribute of the object.
    Parameters:
      `name` - specifies the group name to which this object belongs.
    Throws:
      `DfException` - if a server error occurs.

  - ### getGroupPermit

    int getGroupPermit() throws DfException
    Returns the object-level permission assigned to the group for this object. This method returns the value of the group_permit attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### setGroupPermit

    void setGroupPermit(int permit) throws DfException
    Sets the object-level group permission for the object. This method sets the value of the group_permit attribute of the object.
    Parameters:
      `permit` - specifies the object-level group permission to set.
    Throws:
      `DfException` - if a server error occurs.

  - ### getWorldPermit

    int getWorldPermit() throws DfException
    Returns the object-level permission assigned to the world for the object. This method returns the value of the world_permit attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### setWorldPermit

    void setWorldPermit(int permit) throws DfException
    Sets the object-level permission assigned to the world for the object. This method sets the value of the world_permit attribute of the object.
    Parameters:
      `permit` - specifies the object-level permission assigned to the world for the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getPermit

    int getPermit() throws DfException
    Returns an integer number that corresponds to the access permission level that the current user has for the object.
    Throws:
      `DfException` - if a server error occurs.
    See Also:
      - `IDfACL.DF_PERMIT_BROWSE`
      - `getPermitEx(java.lang.String)`

  - ### getPermitEx

    int getPermitEx(String accessorName) throws DfException
    Returns an integer number that corresponds to the access permission level that the specified user or group has for the object.
    Parameters:
      `accessorName` - specifies the name of the user or group. If not specified, it will be the connected user.
    Throws:
      `DfException` - if a server error occurs.
    See Also:
      - `IDfACL.DF_PERMIT_BROWSE`
      - `getPermit()`

  - ### getAccessorCount

    int getAccessorCount() throws DfException
    Returns the number of users or groups for whom some level of access is defined for the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getAccessorName

    String getAccessorName(int index) throws DfException
    Returns the list of users and groups for whom some level of access is defined for the object. This method uses the _accessor_name computed attribute.
    Parameters:
      `index` - specifies the index of the user or group
    Throws:
      `DfException` - if a server error occurs.

  - ### getAccessorPermitType

    int getAccessorPermitType(int index) throws DfException
    Returns the permit type assigned to each user or group using the computed attribute _accessor_name.
    Parameters:
      `index` - specifies the index of the user or group.
    Returns:
      the permit type assigned to each user or group returned by _accessor_name.
    Throws:
      `DfException` - if a server error occurs.

  - ### getAccessorPermit

    String getAccessorPermit(int index) throws DfException
    Returns the permit levels assigned to each user or group using the computed attribute _accessor_name.
    Parameters:
      `index` - specifies the index of the user or group.
    Returns:
      the permit levels assigned to each user or group returned by _accessor_name.
    Throws:
      `DfException` - if a server error occurs.

  - ### getXPermit

    int getXPermit(String accessorName) throws DfException
    Returns the extended permissions, in integer form, for a specified user or group using the computed attribute _xpermit.
    Throws:
      `DfException` - if a server error occurs.

  - ### getAccessorXPermit

    int getAccessorXPermit(int index) throws DfException
    Returns the extended permission levels of the specified user or group using the computed attribute _accessor_name.
    Parameters:
      `index` - specifies the index of the user or group.
    Returns:
      the extended permission levels of the specified user or group.
    Throws:
      `DfException` - if a server error occurs.

  - ### getAccessorXPermitNames

    String getAccessorXPermitNames(int index) throws DfException
    Retrieves the extended permissions, in upper case and separated by a comma, that are assigned to each user or group.
    Throws:
      `DfException` - if a server error occurs.

  - ### getAccessorApplicationPermit

    String getAccessorApplicationPermit(int index) throws DfException
    Returns the application permit assigned to a user or group.
    Parameters:
      `index` - the index position of the user or group among the ACL's accessors
    Returns:
      the application permit in string form assigned to the user or group
    Throws:
      `DfException` - if a server error occurs
    See Also:
      - `getAccessorCount()`

  - ### hasPermission

    boolean hasPermission(String permission, String accessorName) throws DfException
    Returns whether there is an access control entry in this object to a specified user or group.
    Parameters:
      `permission` - specifies the permission name.
      `accessorName` - specifies the name of the user or group to whom you are assigning the access level.
    Returns:
      `true` if the specified user or group has the permission.
    Throws:
      `DfException` - if a server error occurs.

  - ### getXPermitNames

    String getXPermitNames(String accessorName) throws DfException
    Returns the extended permissions of a specified user or group, in string form, in upper case, and separated by a comma. Note that if `accessorName` is not specified, the default will be the session user.
    Throws:
      `DfException` - if a server error occurs.

  - ### getXPermitList

    String getXPermitList() throws DfException
    Returns a list of extended permissions, separated by a comma, and supported by the server, using the computed attribute _xpermit_list.
    Throws:
      `DfException` - if a server error occurs.

  - ### grant

    void grant(String accessorName, int accessorPermit, String extendedPermission) throws DfException
    Creates an access control entry in this object, assigning an access level to a specified user or group. This operation is not committed until a `save` or a `checkin`. Performs a DMCL "grant".
    Parameters:
      `accessorName` - specifies the name of the user or group to whom you are assigning the access level.
      `accessorPermit` - the integer corresponding to the basic privilege level that you want to grant. You can pass 0 if you just wanted to change the extended permission and leave the basic permission the same.
      `extendedPermission` - the extended permission that you want to grant; If you do not want to grant an extended permission, specify `null` for this parameter
    Throws:
      `DfException` - if a server error occurs.

  - ### grantPermit

    void grantPermit(IDfPermit permit) throws DfException
    Creates an access control entry in this object, assigning an access level to a specified user or group. This operation is not committed until a `save` or a `checkin`. Performs a DMCL "grant".
    Parameters:
      `permit` - Describes the permit being added.
    Throws:
      `DfException` - if a server error occurs.
    Since:
      5.2.10

  - ### revoke

    void revoke(String accessorName, String extendedPermission) throws DfException
    Removes all access control entries from this object for a specified user or group. This operation is not committed until a `save` or a `checkin`. Performs a DMCL "revoke".
    Parameters:
      `accessorName` - specifies the name of the user or group to whom you are removing the access level.
      `extendedPermission` - defines the extended permission names; can be `null` if no extended permissions.
    Throws:
      `DfException` - if a server error occurs.

  - ### revokePermit

    void revokePermit(IDfPermit permit) throws DfException
    Removes specified permit from the sysobject. This operation is not committed until a `save` or a `checkin`. Performs a DMCL "revoke".
    Parameters:
      `permit` - Describes the permit being removed.
    Throws:
      `DfException` - if a server error occurs.
    Since:
      5.2.10

  - ### getPermissions

    IDfList getPermissions() throws DfException
    Returns a list of `DfPermit` objects representing all the permissions specified in the ACL for the sysobject.
    Returns:
      IDfList containing all permissions specified in the ACL
    Throws:
      `DfException` - if a server error occurs
    Since:
      5.2.10

  - ### getACL

    IDfACL getACL() throws DfException
    Returns an ACL associated with the object. It is based on the `getACLName` and `getACLDomain`.
    Returns:
      an ACL associated with the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### setACL

    void setACL(IDfACL acl) throws DfException
    Assigns an ACL object to the object.

    An ACL is assigned to an object when it is created. The ACL can remain with the object for the life of the object, or you can replace the ACL with a call to `setACL`.

    The following code example demonstrates how to assign a private ACL to an object, then reset the object back to the original ACL settings:

    >      IDfSysObject sysObj = (IDfSysObject)sess.getObject(new DfId("0900d5bb8001fd49"));
    >      IDfACL oldACL = sysObj.getACL();
    >      IDfACL newACL = sess.getACL(sess.getLoginUserName(), "MyPrivateACL");
    >      sysObj.setACL(newACL);
    >      sysObj.save();
    >      sysObj.setACL(oldACL);
    >      sysObj.save();

    Parameters:
      `acl` - the ACL object to assign to the sysobject.
    Throws:
      `DfException` - if a server error occurs.
    See Also:
      - `getACL()`

  - ### useACL

    void useACL(String aclType) throws DfException
    Assigns an ACL specification to the object.
    Parameters:
      `aclType` - Specifies which ACL you want to use for this object. The ACL is specified using a keyword. Valid key words are:

           FOLDER   The ACL associated with the object's primary folder
           TYPE     The ACL associated with the object's type definition
           USER     The ACL associated with the dm_user object representing the
                    creator of the object
           NONE     No default ACL

    Throws:
      `DfException` - if a server error occurs.

  - ### revertACL

    void revertACL() throws DfException
    Throws away unsaved permission changes.
    Throws:
      `DfException` - if a server error occurs.

  - ### getACLName

    String getACLName() throws DfException
    Returns the name of the associated ACL. This method returns the value of the acl_name attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### setACLName

    void setACLName(String ACLName) throws DfException
    Sets the name of the associated ACL. This method sets the value of the acl_name attribute of the object.
    Parameters:
      `ACLName` - specifies the name of the associated ACL.
    Throws:
      `DfException` - if a server error occurs.

  - ### getACLDomain

    String getACLDomain() throws DfException
    Returns the domain of the ACL associated with this user. This method returns the value of the acl_domain attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### setACLDomain

    void setACLDomain(String aclDomain) throws DfException
    Sets the domain of the ACL associated with this user. This method sets the value of the acl_domain attribute of the object.
    Parameters:
      `aclDomain` - specifies the domain of the ACL associated with this user.
    Throws:
      `DfException` - if a server error occurs.

  - ### getAclRefValid

    boolean getAclRefValid() throws DfException
    Indicates whether the values in _accessor_name and _accessor_permit have been saved to the repository using the computed attribute _acl_ref_valid.
    Throws:
      `DfException` - if server occurs an error.

  - ### getContentsId

    IDfId getContentsId() throws DfException
    Returns the object id of the content object for an object that has only one content. This method returns the value of the i_contents_id attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getContentType

    String getContentType() throws DfException
    Returns the file format of the object's content. This method returns the value of the a_content_type attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### setContentType

    void setContentType(String contentType) throws DfException
    Sets the file format of the object's content.

    Use any file format recognized by the Documentum server. Document format types can be obtained by querying the dm_format object (i.e. select name from dm_format).

    The following code example demonstrates how to create a document with a "text" file format:

    >      IDfSysObject sysObj = (IDfSysObject)sess.newObject("dm_document"); sysObj.setObjectName("testDoc");
    >      sysObj.setContentType("crtext"); sysObj.setFile("c:\\textdoc.txt"); sysObj.save();

    Parameters:
      `contentType` - specifies the file format of the object's content.
    Throws:
      `DfException` - if a server error occurs.

  - ### getFormat

    IDfFormat getFormat() throws DfException
    Returns the format of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getPageCount

    int getPageCount() throws DfException
    Returns the number of pages in the primary content. This method returns the value of the r_page_cnt attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getContentSize

    long getContentSize() throws DfException
    Returns the number of bytes in the content. This method returns the value of the r_content_size attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getStorageType

    String getStorageType() throws DfException
    Returns the default storage area for content files associated with the object. This method returns the value of the a_storage_type attribute of the object (e.g. filestore_01).
    Throws:
      `DfException` - if a server error occurs.

  - ### setStorageType

    void setStorageType(String type) throws DfException
    Sets the storage area for content files associated with the object. This method sets the value of the a_storage_type attribute of the object.
    Parameters:
      `type` - specifies the storage area for the content files associated with the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getContentStateCount

    int getContentStateCount() throws DfException
    Returns the number of states of a content for the sysobject using the computed attribute _content_state. Valid states are:

         0 Available and online
         1 Archived
         2 Offline
         3 Error fetching content from repository

    Returns:
      the number of states of a content for the sysobject.
    Throws:
      `DfException` - if a server error occurs.

  - ### getContentState

    int getContentState(int index) throws DfException
    Returns the state of the content for a given sysobject using the computed attribute _content_state. Valid states are:

         0 Available and online
         1 Archived
         2 Offline
         3 Error fetching content from repository

    Parameters:
      `index` - specifies the position of the sysobject.
    Returns:
      the state of the content for a specified sysobject.
    Throws:
      `DfException` - if a server error occurs.

  - ### getCollectionForContent

    IDfCollection getCollectionForContent(String format, int pageNumber) throws DfException
    Returns a collection containing the object's content in the repository.

    In order to access the full functionality of the returned content collection you should cast the result to `IDfContentCollection` or call getCollectionForContentEx4.
    Parameters:
      `format` - specifies the format in which you want the content.
      `pageNumber` - Identifies the position of the content when the object has multiple contents; otherwise, use 0.
    Returns:
      a collection containing the object's content in the repository.
    Throws:
      `DfException` - if a server error occurs.

  - ### getCollectionForContentEx2

    IDfCollection getCollectionForContentEx2(String format, int pageNumber, String pageModifier) throws DfException
    Returns a collection containing the object's content in the repository.

    In order to access the full functionality of the returned content collection you should cast the result to `IDfContentCollection` or call getCollectionForContentEx4.
    Parameters:
      `format` - specifies the format in which you want the content.
      `pageNumber` - identifies the position of the content when the object has multiple contents; otherwise, use 0.
      `pageModifier` - uniquely identifies a rendition within the same page number and format for a document. If `null` is passed then the rendition with an empty page_modifier value is returned. But if there doesn't exist a rendition without a page_modifier and `null` is passed, then the one with the smallest page_modifier (in alphabetical order) will be returned.
    Returns:
      a collection containing the object's content in the repository.
    Throws:
      `DfException`

  - ### getCollectionForContentEx3

    IDfCollection getCollectionForContentEx3(String format, int pageNumber, String pageModifier, boolean other) throws DfException
    Returns a collection containing the object's content in the repository.

    In order to access the full functionality of the returned content collection you should cast the result to `IDfContentCollection` or call getCollectionForContentEx4.
    Parameters:
      `format` - specifies the format in which you want the content.
      `pageNumber` - identifies the position of the content when the object has multiple contents; otherwise, use 0.
      `pageModifier` - uniquely identifies a rendition within the same page number and format for a document. If `null` is passed then the rendition with an empty page_modifier value is returned. But if there doesn't exist a rendition without a page_modifier and `null` is passed, then the one with the smallest page_modifier (in alphabetical order) will be returned.
      `other` - for files created on Macintosh systems, indicates whether you want to retrieve the data fork (the file containing the content) or the resource fork. If `true`, the resource fork is returned. If `false`, the data fork is returned. The default is `false`.
    Returns:
      a collection containing the object's content in the repository.
    Throws:
      `DfException`

  - ### getCollectionForContentEx4

    IDfContentCollection getCollectionForContentEx4(String format, int pageNumber, String pageModifier, boolean other) throws DfException
    Returns a collection containing the object's content in the repository.

    Parameters:
      `format` - specifies the format in which you want the content.
      `pageNumber` - identifies the position of the content when the object has multiple contents; otherwise, use 0.
      `pageModifier` - uniquely identifies a rendition within the same page number and format for a document. If `null` is passed then the rendition with an empty page_modifier value is returned. But if there doesn't exist a rendition without a page_modifier and `null` is passed, then the one with the smallest page_modifier (in alphabetical order) will be returned.
      `other` - for files created on Macintosh systems, indicates whether you want to retrieve the data fork (the file containing the content) or the resource fork. If `true`, the resource fork is returned. If `false`, the data fork is returned. The default is `false`.
    Returns:
      a collection containing the object's content in the repository.
    Throws:
      `DfException`

  - ### getContent

    ByteArrayInputStream getContent() throws DfException
    Copies this object's content from the Documentum server into a `ByteArrayInputStream` object.

    The following code example demonstrates how to copy an objects content from the Documentum server into memory:

    >      IDfSysObject sysObj = (IDfSysObject)session.getObject(new DfId("0900d5bb8001f900"));
    >      ByteArrayInputStream bais = sysObj.getContent();
    >      if (bais.available() > 0)
    >      {
    >           // Data successfully fetched from the server...
    >      }

    Returns:
      a ByteArrayInputStream object containing the objects content.
    Throws:
      `DfException` - if a server error occurs.
    See Also:
      - `getContentEx(java.lang.String, int)`
      - `getContentEx2(java.lang.String, int, java.lang.String)`
      - `getContentEx3(java.lang.String, int, java.lang.String, boolean)`

  - ### getContentEx

    ByteArrayInputStream getContentEx(String format, int pageNumber) throws DfException
    Copies this object's content in the repository into a `ByteArrayInputStream`.
    Parameters:
      `format` - specifies the format in which you want the content.
      `pageNumber` - Identifies the position of the content when the object has multiple contents; otherwise, use 0.
    Returns:
      ByteArrayInputStream containing the content.
    Throws:
      `DfException` - if a server error occurs.

  - ### getContentEx2

    ByteArrayInputStream getContentEx2(String format, int pageNumber, String pageModifier) throws DfException
    Copies this object's content in the repository into a `ByteArrayInputStream`.
    Parameters:
      `format` - specifies the format in which you want the content.
      `pageNumber` - identifies the position of the content when the object has multiple contents; otherwise, use 0.
      `pageModifier` - uniquely identifies a rendition within the same page number and format for a document. If `null` is passed then the rendition with an empty page_modifier value is returned. But if there doesn't exist a rendition without a page_modifier and `null` is passed, then the one with the smallest page_modifier (in alphabetical order) will be returned.
    Returns:
      ByteArrayInputStream containing the content.
    Throws:
      `DfException`

  - ### getContentEx3

    ByteArrayInputStream getContentEx3(String format, int pageNumber, String pageModifier, boolean other) throws DfException
    Copies this object's content in the repository into a `ByteArrayInputStream`.
    Parameters:
      `format` - specifies the format in which you want the content.
      `pageNumber` - identifies the position of the content when the object has multiple contents; otherwise, use 0.
      `pageModifier` - uniquely identifies a rendition within the same page number and format for a document. If `null` is passed then the rendition with an empty page_modifier value is returned. But if there doesn't exist a rendition without a page_modifier and `null` is passed, then the one with the smallest page_modifier (in alphabetical order) will be returned.
      `other` - for files created on Macintosh systems, indicates whether you want to retrieve the data fork (the file containing the content) or the resource fork. If `true`, the resource fork is returned. If `false`, the data fork is returned. The default is `false`.
    Returns:
      ByteArrayInputStream containing the content.
    Throws:
      `DfException`

  - ### getFile

    String getFile(String fileName) throws DfException
    Retrieves a content file from the Documentum server.

    Content files associated with objects are ordered within the object. The position of any particular content file within an object is determined by its page number. The first content associated with an object has the page number zero, and the page numbers of subsequent contents increment by one with each content. When you want to obtain any content file other than the first, whose page number is zero, you must use the DFC method `getFileEx`.

    The following code example demonstrates how to checkout an object and copy the file from the Documentum server to the local drive (current working directory):

    >      IDfSysObject sysObj = (IDfSysObject)sess.getObject(new DfId("0900d5bb8001fd49"));
    >      if (!sysObj.isCheckedOut())
    >      {
    >           sysObj.checkout();
    >           sysObj.getFile(sysObj.getObjectName());
    >      }

    Parameters:
      `fileName` - specifies the location where you want to put the copy of the retrieved content file. If set to `null`, the content will be placed in the DMCL common area.
    Returns:
      the file location of the retrieved file.
    Throws:
      `DfException` - if formatName are invalid.
    See Also:
      - `getFileEx(java.lang.String, java.lang.String, int, boolean)`
      - `setFile(java.lang.String)`
      - `setFileEx(java.lang.String, java.lang.String, int, java.lang.String)`

  - ### getFileEx

    String getFileEx(String fileName, String formatName, int pageNumber, boolean other) throws DfException
    This is the extended method for retreiving a content file from the repository.
    Parameters:
      `fileName` - specifies the location where you want to put the copy of the retrieved content file. If it is `null`, it will be placed in the DMCL common area. Note: Files in the client local area or the common area are removed when the session is closed or when the user terminates the connection to the Docbase.
      `formatName` - specifies the format in which you want the file.
      `pageNumber` - Identifies the position of the content when the object has multiple contents; otherwise, use 0.
      `other` - for files created on Macintosh systems, indicates whether you want to retrieve the data fork (the file containing the content) or the resource fork. If `true`, just the resource fork is returned. If `false`, the data fork is returned. The default is `false`.
    Returns:
      the file location of the retrieved file.
    Throws:
      `DfException` - if `formatName` is invalid.

  - ### getFileEx2

    String getFileEx2(String fileName, String formatName, int pageNumber, String pageModifier, boolean other) throws DfException
    This is the extended method for retreiving a content file from the repository.
    Parameters:
      `fileName` - specifies the location where you want to put the copy of the retrieved content file. If it is `null`, it will be placed in the DMCL common area.
      `formatName` - specifies the format in which you want the file.
      `pageNumber` - identifies the position of the content when the object has multiple contents; otherwise, use 0.
      `pageModifier` - uniquely identifies a rendition within the same page number and format. If `null` is passed then the rendition with an empty page_modifier value is returned. But if there doesn't exist a rendition without a page_modifier and `null` is passed, then the one with the smallest page_modifier (in alphabetical order) will be returned.
      `other` - for files created on Macintosh systems, indicates whether you want to retrieve the data fork (the file containing the content) or the resource fork. If `true`, the resource fork is returned. If `false`, data fork is returned. The default is `false`.
    Returns:
      the file location of the retrieved file.
    Throws:
      `DfException`

  - ### getPath

    String getPath(int pageNumber) throws DfException
    Retrieves the content location for an external store object.
    Parameters:
      `pageNumber` - Identifies the position of the content when the object has multiple contents; otherwise, use 0.
    Returns:
      the file location of the retrieved file.
    Throws:
      `DfException` - if a server error occurs.
    See Also:
      - `setPath(java.lang.String, java.lang.String, int, java.lang.String)`
      - `mount(java.lang.String)`

  - ### getPathEx

    String getPathEx(int pageNumber, String pageModifier) throws DfException
    Retrieves the content location for an external store object.
    Parameters:
      `pageNumber` - Identifies the position of the content when the object has multiple contents; otherwise, use 0.
      `pageModifier` - uniquely identifies a rendition within the same page number and format.
    Returns:
      the file location of the retrieved file.
    Throws:
      `DfException` - if a server error occurs.
    See Also:
      - `setPath(java.lang.String, java.lang.String, int, java.lang.String)`
      - `mount(java.lang.String)`

  - ### getPathEx2

    String getPathEx2(String formatName, int pageNumber, String pageModifier, boolean other) throws DfException
    Retrieves the content location for an external store object.
    Parameters:
      `formatName` - the format for which you want the path.
      `pageNumber` - Identifies the position of the content when the object has multiple contents; otherwise, use 0.
      `pageModifier` - uniquely identifies a rendition within the same page number and format.
      `other` - for files created on Macintosh systems, indicates whether you want to retrieve the path of the data fork (the file containing the content) or the path of the resource fork. If `true`, the path of the resource fork is returned. If `false`, the path of the data fork is returned. The default is `false`.
    Returns:
      the file location of the retrieved file.
    Throws:
      `DfException` - if a server error occurs.
    See Also:
      - `setPath(java.lang.String, java.lang.String, int, java.lang.String)`
      - `mount(java.lang.String)`

  - ### setContent

    boolean setContent(ByteArrayOutputStream content) throws DfException
    Sets new content to an object. Use this method when you want to set data that resides in working memory.

    The following code example demonstrates how to set content residing in memory to a new document:

    >      IDfSysObject sysObj = (IDfSysObject)sess.newObject("dm_document");
    >      sysObj.setObjectName("testDoc");
    >      sysObj.setContentType("crtext");
    >      byte b[] = {35,36,37,38,39};
    >      ByteArrayOutputStream out = new ByteArrayOutputStream();
    >      out.write(b, 0, 5);
    >      sysObj.setContent(out);
    >      sysObj.save();

    Parameters:
      `content` - the content as a ByteArrayOutputStream.
    Throws:
      `DfException` - if a server error occurs.
    See Also:
      - `appendContent(java.io.ByteArrayOutputStream)`
      - `insertContent(java.io.ByteArrayOutputStream, int)`

  - ### setContentEx

    boolean setContentEx(ByteArrayOutputStream content, String format, int pageNumber) throws DfException
    This is the extended method for setting the content of an object.
    Parameters:
      `content` - Specifies the the content.
      `format` - Specifies the file format of the content.
      `pageNumber` - Identifies the position of the content when the object has multiple contents; otherwise, use 0.
    Throws:
      `DfException` - if a server error occurs.

  - ### setContentEx2

    boolean setContentEx2(ByteArrayOutputStream content, String format, int pageNumber, boolean other) throws DfException
    This is the extended method for setting the content of an object.
    Parameters:
      `content` - Specifies the the content.
      `format` - Specifies the file format of the content.
      `pageNumber` - Identifies the position of the content when the object has multiple contents; otherwise, use 0.
      `other` - for files created on Macintosh systems, indicates whether you want to set the data fork (the file containing the content) or the resource fork. If `true`, the resource fork is set. If `false`, the data fork is set. The default is `false`. Note that you can only set this flag to true right after you set the content for the same page and before the document is saved.
    Throws:
      `DfException` - if a server error occurs.

  - ### setStringContentAttribute

    void setStringContentAttribute(String name, String value, String formatName, int page, String pageModifier) throws DfException
    Set a String content attribute.
    Parameters:
      `name` - the name of the attribute.
      `value` - the value of the attribute.
      `formatName` - the name for the content objects format.
      `page` - the content page.
      `pageModifier` - the content object's page modifier.
    Throws:
      `DfException`

  - ### setTimeContentAttribute

    void setTimeContentAttribute(String name, IDfTime value, String formatName, int page, String pageModifier) throws DfException
    Set a Date/Time content attribute.
    Parameters:
      `name` - the name of the attribute.
      `value` - the value of the attribute.
      `formatName` - the name for the content objects format.
      `page` - the content page.
      `pageModifier` - the content object's page modifier.
    Throws:
      `DfException`

  - ### setDoubleContentAttribute

    void setDoubleContentAttribute(String name, double value, String formatName, int page, String pageModifier) throws DfException
    Set a numeric content attribute.
    Parameters:
      `name` - the name of the attribute.
      `value` - the value of the attribute.
      `formatName` - the name for the content objects format.
      `page` - the content page.
      `pageModifier` - the content object's page modifier.
    Throws:
      `DfException`

  - ### getStringContentAttr

    String getStringContentAttr(String name, String formatName, int page, String pageModifier) throws DfException
    Return a string content attribute.
    Parameters:
      `name` - the name of the attribute.
      `formatName` - the name for the content objects format.
      `page` - the content page.
      `pageModifier` - the content object's page modifier.
    Throws:
      `DfException`

  - ### getTimeContentAttr

    IDfTime getTimeContentAttr(String name, String formatName, int page, String pageModifier) throws DfException
    Return a time content attribute.
    Parameters:
      `name` - the name of the attribute.
      `formatName` - the name for the content objects format.
      `page` - the content page.
      `pageModifier` - the content object's page modifier.
    Throws:
      `DfException`

  - ### getDoubleContentAttr

    Double getDoubleContentAttr(String name, String formatName, int page, String pageModifier) throws DfException
    Return a numeric content attribute.
    Parameters:
      `name` - the name of the attribute.
      `formatName` - the name for the content objects format.
      `page` - the content page.
      `pageModifier` - the content object's page modifier.
    Throws:
      `DfException`

  - ### setFile

    void setFile(String fileName) throws DfException
    Sets the content file of this object or replaces an existing content. This operation is not committed until a `save` or a `checkin` is performed. Performs a DMCL "setfile".

    The following code example demonstrates how to create a document:

    >      IDfSysObject sysObj = (IDfSysObject)sess.newObject("dm_document");
    >      sysObj.setObjectName("testDoc");
    >      sysObj.setContentType("crtext");
    >      sysObj.setFile("c:\\textdoc.txt");
    >      sysObj.save();

    Parameters:
      `fileName` - the file that contains the content.
    Throws:
      `DfException` - if a server error occurs.
    See Also:
      - `insertFile(java.lang.String, int)`
      - `appendFile(java.lang.String)`

  - ### setFileEx

    void setFileEx(String fileName, String formatName, int pageNumber, String otherFile) throws DfException
    This is the extended method for setting the content file of this object, or it replaces existing content. This operation is not committed until a `save` or a `checkin` is performed. Performs DMCL "setfile".
    Parameters:
      `fileName` - specifies the file that contains the content.
      `formatName` - specifies the format in which you want the file.
      `pageNumber` - identifies the position of the content when the object has multiple contents; otherwise, use 0.
      `otherFile` - specifies the resource fork for a Macintosh document. This argument should be set to `null` for non-Macintosh documents.
    Throws:
      `DfException` - if a server error occurs.

  - ### setPath

    void setPath(String fileName, String formatName, int pageNumber, String otherFile) throws DfException
    Sets the path to a content object or replaces an existing content.
    Parameters:
      `fileName` - Specifies the file that contains the content. Use either an absolute or relative path to specify the file. The file must be located on the machine from which this method is called or in a directory visible to that machine.
      `formatName` - Specifies the content's file format. The format must be a valid file format. You must specify this argument if you are setting an object's first content. Set this argument to `null` when you are setting second or subsequent content for an object.
      `pageNumber` - Defines the position where you want to place the content within the ordered contents of the object. Use this argument when you are adding second or subsequent contents to an object or when you want to replace an existing content. Otherwise, set this to 0.
      `otherFile` - specifies the resource fork for a Macintosh document. You can use either an absolute or a relative path. If this is set, the path must be valid or this method fails. The value is ignored when used with external stores. This argument should be set to `null` for non-Macintosh documents.
    Throws:
      `DfException` - if a server error occurs.
    See Also:
      - `getPath(int)`
      - `mount(java.lang.String)`

  - ### appendContent

    void appendContent(ByteArrayOutputStream content) throws DfException
    Appends new content to an object. Use this method when you want to append data that resides in working memory.

    The following code example demonstrates how to append content to a new document:

    >      IDfSysObject sysObj = (IDfSysObject)sess.newObject("dm_document");
    >      sysObj.setObjectName("testDoc");
    >      sysObj.setContentType("crtext");
    >      byte b[] = {35,36,37,38,39};
    >      ByteArrayOutputStream out = new ByteArrayOutputStream();
    >      out.write(b, 0, 5);
    >      sysObj.appendContent(out);
    >      sysObj.save();

    Parameters:
      `content` - the content as a ByteArrayOutputStream object.
    Throws:
      `DfException` - if a server error occurs.
    See Also:
      - `setContent(java.io.ByteArrayOutputStream)`
      - `insertContent(java.io.ByteArrayOutputStream, int)`

  - ### appendContentEx

    void appendContentEx(ByteArrayOutputStream content, boolean other) throws DfException
    Appends new content to an object. Use this method when you want to append data that resides in working memory.

    The following code example demonstrates how to append content to a new document:

    >      IDfSysObject sysObj = (IDfSysObject)sess.newObject("dm_document");
    >      sysObj.setObjectName("testDoc");
    >      sysObj.setContentType("crtext");
    >      byte b[] = {35,36,37,38,39};
    >      ByteArrayOutputStream out = new ByteArrayOutputStream();
    >      out.write(b, 0, 5);
    >      sysObj.appendContent(out);
    >      sysObj.save();

    Parameters:
      `content` - the content as a ByteArrayOutputStream object.
      `other` - for files created on Macintosh systems, indicates whether you want to set a data fork (the file containing the content) or a resource fork. If `true`, the resource fork is set. If `false`, the data fork is set. The default is `false`.
    Throws:
      `DfException` - if a server error occurs.
    See Also:
      - `setContent(java.io.ByteArrayOutputStream)`
      - `insertContent(java.io.ByteArrayOutputStream, int)`

  - ### appendFile

    void appendFile(String fileName) throws DfException
    Appends new content to an object.

    When you add content to a document, you can append the new file to the end of the document's list of content files or you can insert the file into the list. This method appends the content to the end of the document's list of content files.

    The following code example demonstrates how to append content to a new document:

    >      IDfSysObject sysObj = (IDfSysObject)sess.newObject("dm_document");
    >      sysObj.setObjectName("testDoc");
    >      sysObj.setContentType("crtext");
    >      sysObj.appendFile("c:\\tesdoc1.txt");
    >      sysObj.appendFile("c:\\tesdoc2.txt");
    >      sysObj.save();

    Parameters:
      `fileName` - the file that you are adding as content to the object. Use either a relative or absolute path specification.
    Throws:
      `DfException` - if a server error occurs.

  - ### appendFileEx

    void appendFileEx(String fileName, String otherFileName) throws DfException
    Appends new content to an object.

    When you add content to a document, you can append the new file to the end of the document's list of content files or you can insert the file into the list. This method appends the content to the end of the document's list of content files.

    The following code example demonstrates how to append content to a new document:

    >      IDfSysObject sysObj = (IDfSysObject)sess.newObject("dm_document");
    >      sysObj.setObjectName("testDoc");
    >      sysObj.setContentType("crtext");
    >      sysObj.appendFile("c:\\tesdoc1.txt");
    >      sysObj.appendFile("c:\\tesdoc2.txt");
    >      sysObj.save();

    Parameters:
      `fileName` - the file that you are adding as content to the object. Use either a relative or absolute path specification.
      `otherFileName` - specifies the resource fork for an object with Macintosh content.
    Throws:
      `DfException` - if a server error occurs.

  - ### insertContent

    void insertContent(ByteArrayOutputStream content, int pageNumber) throws DfException
    Inserts new content into an object.
    Parameters:
      `content` - specifies the content
      `pageNumber` - identifies the position of the content when the object has multiple contents; otherwise, use 0.
    Throws:
      `DfException` - if a server error occurs.

  - ### insertContentEx

    void insertContentEx(ByteArrayOutputStream content, int pageNumber, boolean other) throws DfException
    Inserts new content into an object.
    Parameters:
      `content` - specifies the content
      `pageNumber` - identifies the position of the content when the object has multiple contents; otherwise, use 0.
      `other` - for files created on Macintosh systems, indicates whether you want to set a data fork (the file containing the content) or a resource fork. If `true`, the resource fork is set. If `false`, the data fork is set. The default is `false`.
    Throws:
      `DfException` - if a server error occurs.

  - ### insertFile

    void insertFile(String fileName, int pageNumber) throws DfException
    Inserts a new content file into an object.
    Parameters:
      `fileName` - Specifies the file that you are adding to the object. Use either an absolute or relative path to specify the file.
      `pageNumber` - Identifies the position of the content when the object has multiple contents; otherwise, use 0.
    Throws:
      `DfException` - if a server error occurs.

  - ### insertFileEx

    void insertFileEx(String fileName, int pageNumber, String otherFileName) throws DfException
    Inserts a new content file into an object.
    Parameters:
      `fileName` - Specifies the file that you are adding to the object. Use either an absolute or relative path to specify the file.
      `pageNumber` - Identifies the position of the content when the object has multiple contents; otherwise, use 0.
      `otherFileName` - specifies the resource fork for an object with Macintosh content.
    Throws:
      `DfException` - if a server error occurs.

  - ### addRendition

    void addRendition(String fileName, String formatName) throws DfException
    Adds a new rendition to the object. This operation is not committed until a `save` or `checkin` is performed.

    The following code example demonstrates how to add a Word Perfect rendition to the sysobject:

    >      IDfSysObject sysObj = (IDfSysObject)session.getObjectByQualification("dm_document where r_object_id='0900d5bb8001f900'");
    >      sysObj.addRendition("chap_1.wp7", "wp7");
    >      sysObj.save();

    Parameters:
      `fileName` - specifies the file that contains the content.
      `formatName` - specifies the content's file format.
    Throws:
      `DfException` - if a server error occurs.

  - ### addRenditionEx

    void addRenditionEx(String fileName, String formatName, int pageNumber, String storageName, boolean atomic) throws DfException
    This is the extended method for adding a new rendition to the object.. This operation is not committed until a `save` or a `checkin` is performed. Perform DMCL "addrendition".
    Parameters:
      `fileName` - specifies the file that contains the content.
      `formatName` - specifies the content's file format.
      `pageNumber` - identifies the position of the content when the object has multiple contents; otherwise, use 0.
      `storageName` - identifies the storage area where you want to store the new rendition..
      `atomic` - indicates whether you want the changes resulting from the addRendition operation to be saved automatically to the repository. Set this to `true` to save the changes automatically or `false` if you want to require an explicit save operation.
    Throws:
      `DfException` - if a server error occurs.

  - ### addRenditionEx2

    void addRenditionEx2(String fileName, String formatName, int pageNumber, String pageModifier, String storageName, boolean atomic, boolean keep, boolean batch) throws DfException
    This is the extended method for adding a new rendition to the object.. This operation is not committed until a `save` or a `checkin` is performed. Perform DMCL "addrendition".
    Parameters:
      `fileName` - specifies the file that contains the content.
      `formatName` - specifies the content's file format.
      `pageNumber` - identifies the position of the content when the object has multiple contents; otherwise, use 0.
      `pageModifier` - uniquely identifies a rendition within the same page number and format for a document. If there already exists a rendition with the supplied page_modifier (at the given format and page) the rendition will be overwritten. If `null` is passed then page_modifier is set to empty string. This argument must be `null` if the `batch` argument is `true`. The argument cannot be "dm_batch" as this is a reserved word.
      `storageName` - identifies the storage area where you want to store the new rendition..
      `atomic` - indicates whether you want the changes resulting from the addRendition operation to be saved automatically to the repository. Set this to `true` to save the changes automatically or `false` if you want to require an explicit save operation.
      `keep` - indicates whether this rendition should remain (i.e. not be removed) when the primary content with the same page number is removed or updated.
      `batch` - indicates whether the `fileName` argument is a tar-ed file containing a set of content files including a a property file named 'property.txt'. The format of of this property file is as follows (with a blank line separating each file_name entry): file_name='file_name' page_modifier='' parameters='' If a page_modifier specified in the property file exists, the new one will overwrite the old one. If you issue two non-atomic batch addrendition against the same format and page, the new one will replace the old one.
    Throws:
      `DfException`

  - ### addRenditionEx3

    void addRenditionEx3(String fileName, String formatName, int pageNumber, String pageModifier, String storageName, boolean atomic, boolean keep, boolean batch, String otherFileName) throws DfException
    This is the extended method for adding a new rendition to the object.. This operation is not committed until a `save` or a `checkin` is performed. Perform DMCL "addrendition".
    Parameters:
      `fileName` - specifies the file that contains the content.
      `formatName` - specifies the content's file format.
      `pageNumber` - identifies the position of the content when the object has multiple contents; otherwise, use 0.
      `pageModifier` - uniquely identifies a rendition within the same page number and format for a document. If there already exists a rendition with the supplied page_modifier (at the given format and page) the rendition will be overwritten. If `null` is passed then page_modifier is set to empty string. This argument must be `null` if the `batch` argument is `true`. The argument cannot be "dm_batch" as this is a reserved word.
      `storageName` - identifies the storage area where you want to store the new rendition..
      `atomic` - indicates whether you want the changes resulting from the addRendition operation to be saved automatically to the repository. Set this to `true` to save the changes automatically or `false` if you want to require an explicit save operation.
      `keep` - indicates whether this rendition should remain (i.e. not be removed) when the primary content with the same page number is removed or updated.
      `batch` - indicates whether the `fileName` argument is a tar-ed file containing a set of content files including a a property file named 'property.txt'. The format of of this property file is as follows (with a blank line separating each file_name entry): file_name='file_name' page_modifier='' parameters='' If a page_modifier specified in the property file exists, the new one will overwrite the old one. If you issue two non-atomic batch addrendition against the same format and page, the new one will replace the old one.
      `otherFileName` - specifies the resource fork for an object with Macintosh content.
    Throws:
      `DfException`

  - ### getRenditions

    IDfCollection getRenditions(String attrNames) throws DfException
    Runs a query against the dmr_content table to return values for all the page 0 content for this object. Values for renditions are also returned. The attributes listed in `attrNames` in the form of a comma separated list suitable for inclusion in a DQL select list are returned. If attrNames is null or a zero length String, values for the following default attributes are returned - full_format, content_size, set_time, set_file. Rsults are sorted by the first element in the `attrNames`.
    Returns:
      a collection of DfTypedObject interfaces.
    Throws:
      `DfException` - if a server error occurs.

  - ### removeContent

    void removeContent(int pageNumber) throws DfException
    Deletes content from an object.
    Parameters:
      `pageNumber` - Identifies the position of the content when the object has multiple contents; otherwise, use 0.
    Throws:
      `DfException` - if a server error occurs.

  - ### removeRendition

    void removeRendition(String formatName) throws DfException
    Deletes a rendition from the object. This operation is not committed until a `save` or a `checkin` is performed. Perform DMCL "removerendition".
    Parameters:
      `formatName` - Defines the format of the file you are removing.
    Throws:
      `DfException` - if a server error occurs.

  - ### removeRenditionEx

    void removeRenditionEx(String formatName, int pageNumber, boolean atomic) throws DfException
    Deletes a rendition from the object. This operation is not committed until a `save` or a `checkin` is performed. Perform DMCL "removerendition".
    Parameters:
      `formatName` - Defines the format of the file you are removing.
      `pageNumber` - Identifies the position of the content when the object has multiple contents; otherwise, use 0.
      `atomic` - Indicates whether you want the changes that result from the removeRendition operation to be saved automatically to the repository. Set this to `true` to save the changes automatically or to `false` to require an explicit save operation.
    Throws:
      `DfException` - if a server error occurs.

  - ### removeRenditionEx2

    void removeRenditionEx2(String formatName, int pageNumber, String pageModifier, boolean atomic) throws DfException
    Deletes a rendition from the object. This operation is not committed until a `save` or a `checkin` is performed. Perform DMCL "removerendition".
    Parameters:
      `formatName` - Defines the format of the file you are removing.
      `pageNumber` - identifies the position of the content when the object has multiple contents; otherwise, use 0.
      `pageModifier` - uniquely identifies a rendition within the same page number and format for a document. If `null` value is passed then all renditions are removed at the specified page number and format. If you want to remove the rendition with an empty page_modifier value, pass in an empty string value (i.e. '').
      `atomic` - Indicates whether you want the changes that result from the removeRendition operation to be saved automatically to the repository. Set this to `true` to save the changes automatically or to `false` to require an explicit save operation.
    Throws:
      `DfException` - if a server error occurs.

  - ### bindFile

    void bindFile(int pageNumber, IDfId srcId, int srcPageNumber) throws DfException
    Binds content associated with an object to another object.
    Parameters:
      `pageNumber` - Specifies the position of the new content in the ordered contents of the target object. Specify 0 if this is the first content for the object.
      `srcId` - Identifies the object in which the content currently resides.
      `srcPageNumber` - Identifies which content you want to retrieve. Use the contents page number.
    Throws:
      `DfException` - if a server error occurs.

  - ### mount

    @Deprecated void mount(String path) throws DfException
    Deprecated.
    Sets the content location for an external store object.

    If a client application does not execute the Mount method, but issues a `getfile` or a `getcontent` method, then the content will be retrieved on the server side if a server side plugin is available and returned to the client application.
    Parameters:
      `path` - Specifies the path of the external file store.
    Throws:
      `DfException` - if a server error occurs.
    See Also:
      - `getPath(int)`
      - `setPath(java.lang.String, java.lang.String, int, java.lang.String)`

  - ### addNote

    void addNote(IDfId targetId, boolean keepPermanent) throws DfException
    Adds an annotation (the current IDfSysObject) to the target object.
    Parameters:
      `targetId` - Specifies the id of the sysobject to which the annotation is being added.
      `keepPermanent` - Indicates whether you want the annotation to remain attached to the document when users version the document.
    Throws:
      `DfException` - if a server error occurs.

  - ### removeNote

    @Deprecated void removeNote(IDfId annotationId) throws DfException
    Deprecated.
    Detaches an annotation from the object. Unlike addNote which is invoked on the dm_note object removeNote is applied to the parent object to which the dm_note has been added. To persist the removal of the note the caller must invoke save on the dm_note object being removed.
    Parameters:
      `annotationId` - Specifies the id of the sysobject from which the annotation is being removed.
    Throws:
      `DfException` - if a server error occurs.

  - ### getPolicyId

    IDfId getPolicyId() throws DfException
    Returns the object id of attached business policy object. This method returns the value of the r_policy_id attribute of the object.
    Returns:
      the object id of attached business policy object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getPolicyName

    String getPolicyName() throws DfException
    Returns the name of attached business policy object.
    Returns:
      the value of the computed attribute _policy_name.
    Throws:
      `DfException` - if a server error occurs.

  - ### getResumeState

    int getResumeState() throws DfException
    Returns the resume state. This method returns the value of the r_resume_state attribute of the object.
    Returns:
      the resume state
    Throws:
      `DfException` - if a server error occurs.

  - ### getResumeStateName

    String getResumeStateName() throws DfException
    Returns the resume state name. This method uses the _resume_state computed attribute.
    Returns:
      the resume state name
    Throws:
      `DfException` - if a server error occurs.

  - ### getCurrentState

    int getCurrentState() throws DfException
    Returns the current state. This method returns the value of the r_current_state attribute of the object.
    Returns:
      the current state
    Throws:
      `DfException` - if a server error occurs.

  - ### getCurrentStateName

    String getCurrentStateName() throws DfException
    Returns the name of the current state. This method uses the _current_state computed attribute.
    Returns:
      the current state name
    Throws:
      `DfException` - if a server error occurs.

  - ### attachPolicy

    void attachPolicy(IDfId policyId, String state, String scope) throws DfException
    Attaches a business policy object to the object.

    Business policies define object life cycles. Each business policy defines a series of states (such as review or approved) through which an object progresses. A policy includes requirements that must be met before the object can move from one state to the next, actions to be performed before the object enters a state, and postprocessing to perform after entering a new state.

    The following code example demonstrates how to attach a business policy object to a sysobject where the initial state of the lifecycle is defined as "preliminary":

    >      IDfSysObject busPolicyObj = (IDfSysObject)sess.getObject(new DfId("0900d5bb8001fd49"));
    >      IDfSysObject sysObj = (IDfSysObject)sess.getObject(new DfId("0900d5bb8001f900"));
    >      sysObj.attachPolicy(busPolicyObj.getObjectId(), "preliminary", "");

    You cannot use this method in a user-defined transaction.

    Parameters:
      `policyId` - the object id of the business policy object.
      `state` - the state of the business policy. The state can be the position of the state or the state name.
      `scope` - is the key to the dm_alias_set type for retrieving the alias value mapping defined there.
    Throws:
      `DfException` - if a server error occurs.
    See Also:
      - `detachPolicy()`

  - ### detachPolicy

    void detachPolicy() throws DfException
    Detaches an existing business policy object from the object.

    The following code example demonstrates how to detach a business policy object from a sysobject;

    >      IDfSysObject sysObj = (IDfSysObject)sess.getObject(new DfId("0900d5bb8001f900"));
    >      sysObj.detachPolicy();

    Throws:
      `DfException` - if a server error occurs.
    See Also:
      - `attachPolicy(com.documentum.fc.common.IDfId, java.lang.String, java.lang.String)`

  - ### promote

    void promote(String state, boolean override, boolean fTestOnly) throws DfException
    Promotes the sysobject to the state specified in the `state` argument. The state can be passed in as the position or the name of the state.

    You cannot use this method in a user-defined transaction.

    Parameters:
      `state` - is the state to which sysobject is to be promoted. If `null`, the object will be promoted to the next normal state.
      `override` - optionally, set this to `true` to force the sysobject to be promoted, regardless of other conditions.
      `fTestOnly` - set this to `true` to test if the promote can be done. This will not actually promote the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getPreviousStateName

    String getPreviousStateName() throws DfException
    Returns the name of the previous state. This method uses the _previous_state computed attribute.
    Returns:
      the previous state name
    Throws:
      `DfException` - if a server error occurs.

  - ### getNextStateName

    String getNextStateName() throws DfException
    Returns the name of the next state. This method uses the _next_state computed attribute.
    Returns:
      the next state name
    Throws:
      `DfException` - if a server error occurs.

  - ### canPromote

    boolean canPromote() throws DfException
    Returns whether the sysobject can be promoted from current state to the next state. This is a light weight test at the client side based on the simple rule. The object can be promoted if:

         1. The correct Business Policy is installed and attached.
         2. The objects current state is NOT a terminal state and
                  is NOT an exception state.

    Returns:
      `true` if the object can be promoted, `false` otherwise.
    Throws:
      `DfException` - if a server error occurs.

  - ### schedulePromote

    void schedulePromote(String state, IDfTime scheduleDate, boolean override) throws DfException
    Schedules a sysobject to be promoted to the next state on a particular date/time specified by the `scheduleDate` parameter. This scheduled promotion can be enforced by setting the `override` parameter to `true`.
    Parameters:
      `state` - is the state to which sysobject is to be promoted. This is required for schedule promote.
      `scheduleDate` - is the time and date sysobject will be promoted.
      `override` - set this to `true` to force the sysobject's promotion.
    Throws:
      `DfException` - if a server error occurs.

  - ### cancelScheduledPromote

    void cancelScheduledPromote(IDfTime scheduleDate) throws DfException
    This will cancel the scheduled promote for the date/time specified in the `scheduleDate` argument.
    Parameters:
      `scheduleDate` - the date/time used to set the schedule promote.
    Throws:
      `DfException` - if a server error occurs.

  - ### canDemote

    boolean canDemote() throws DfException
    Returns whether the object can be demoted from the current state. This is a light weight test at the client side based on the simple rules. The object can be demoted if:

         1. Correct BP is installed and attached.
         2. Objects current state is NOT a base state and is NOT
                  an exception state.
         3. "allow_demote" attribute is set to true for the current state.

    Returns:
      `true` if the object can be demoted, `false` otherwise.
    Throws:
      `DfException` - if a server error occurs.

  - ### demote

    void demote(String state, boolean toBase) throws DfException
    This method will demote the sysobject from its current normal state to the previous normal state, or to the base state if the `toBase` parameter is set to `true`. If `state` is not `null`, the current state should be the state right after the state specified.

    You cannot use this method in a user-defined transaction.

    Parameters:
      `state` - the state to which the sysobject will be demoted. This can be the name of the state or position number.
      `toBase` - set this to `true` if sysobject is to be demoted to the base state. If the state is specified with this flag as `true`, the state should be the base state.
    Throws:
      `DfException` - if a server error occurs.

  - ### scheduleDemote

    void scheduleDemote(String state, IDfTime schedule_date) throws DfException
    Schedules the sysobject to demote from its current normal state to the state defined in the `state` parameter. The `state` parameter cannot be `null` in this case.
    Parameters:
      `state` - is the state to which the sysobject will be demoted. This can be the name of the state or the position number.
      `schedule_date` - represent the date/time used to set the schedule demote for this sysobject.
    Throws:
      `DfException` - if a server error occurs.

  - ### cancelScheduledDemote

    void cancelScheduledDemote(IDfTime scheduleDate) throws DfException
    This will cancel the scheduled demote of the sysobject at the date/time specifed by `scheduleDate`.
    Parameters:
      `scheduleDate` - the date/time used to set the demote for this sysobject.
    Throws:
      `DfException` - if a server error occurs.

  - ### suspend

    void suspend(String state, boolean override, boolean fTestOnly) throws DfException
    Suspends the sysobject from its current state to the exception state. An exception is thrown if no exception state exists for the current normal state.

    You cannot use this method in a user-defined transaction.

    Parameters:
      `state` - if specified, this should be the current state from where the sysobject will be suspended. This can be either the position number or the name of the state.
      `override` - setting this to `true` will force the sysobject to suspend.
      `fTestOnly` - set this to `true` to test if the suspend can be done. This will not actually suspend the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### canSuspend

    boolean canSuspend() throws DfException
    Returns whether the sysobject can suspend from its current state to the exception state. An exception is thrown if no exception state exists for the current normal state. This is a light weight test at the client side based on the simple rules. The object can be suspended if:

         1. The correct Business Policy is installed and attached.
         2. The objects current state has an exception state.

    Returns:
      `true` if the object can be suspended, `false` otherwise.
    Throws:
      `DfException` - if a server error occurs.

  - ### isSuspended

    boolean isSuspended() throws DfException
    Return whether the object is in a suspended state. The object is in a suspended state if:

         1. The correct Business Policy is installed and attached.
         2. The objects current state is an exception state.

    Returns:
      `true` if the object is in the suspended state, `false` otherwise.
    Throws:
      `DfException` - if a server error occurs.

  - ### scheduleSuspend

    void scheduleSuspend(String state, IDfTime scheduleDate, boolean override) throws DfException
    Schedule a suspend of the sysobject from its current state to the exception state at a certain date/time. An exception is thrown if no exception state exists for the current normal state.
    Parameters:
      `state` - this should be the current state from where the sysobject will be suspended. This can be either the position number or the name of the state. This can not be `null`.
      `override` - set this to `true` to force the sysobject's suspension.
      `scheduleDate` - the date/time used to set the schedule suspend for this sysobject.
    Throws:
      `DfException` - if a server error occurs.

  - ### cancelScheduledSuspend

    void cancelScheduledSuspend(IDfTime scheduleDate) throws DfException
    This method can be used to cancel a scheduled suspend of the sysobject at a date/time.
    Parameters:
      `scheduleDate` - the date/time at which the sysobject was scheduled for suspension.
    Throws:
      `DfException` - if a server error occurs.

  - ### resume

    void resume(String state, boolean toBase, boolean override, boolean fTestOnly) throws DfException
    Resumes the sysobject from an exception state.

    You cannot use this method in a user-defined transaction.

    Parameters:
      `state` - define the state number or the state name from where the sysobject will be resumed. This must be an exception state.
      `toBase` - set it to `true` if sysobject is to be resumed to the base state.
      `override` - set this to `true` to force the resume.
      `fTestOnly` - set this to `true` to test if the resume can be done. This will not actually resume the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### canResume

    boolean canResume() throws DfException
    Returns whether the sysobject can be resumed from an exception state. This is a light weight test at the client side based on the simple rules. The object can be resumed if:

         1. The correct Business Policy is installed and attached.
         2. The objects current state is an exception state.

    Returns:
      `true` if the object can be resumed, `false` otherwise.
    Throws:
      `DfException` - if a server error occurs.

  - ### scheduleResume

    void scheduleResume(String state, IDfTime scheduleDate, boolean toBase, boolean override) throws DfException
    Schedules to resume the sysobject from an exception state to the next state at the specified date/time.
    Parameters:
      `state` - define the state number or the state name from where the sysobject will be resumed from. This must be an exception state.
      `scheduleDate` - contains the date/time at which the resume will take place.
      `toBase` - set this to `true` if the sysobject is to be resumed to the base state.
      `override` - set this to `true` to force the resume.
    Throws:
      `DfException` - if a server error occurs.

  - ### cancelScheduledResume

    void cancelScheduledResume(IDfTime schedule) throws DfException
    This will cancel a scheduled resume of the sysobject for a certain date/time.
    Parameters:
      `schedule` - represent the date/time which was used to schedule the resume.
    Throws:
      `DfException` - if a server error occurs.

  - ### isVirtualDocument

    boolean isVirtualDocument() throws DfException
    Returns true if this document should be treated as a virtual document. Always returns true if the document has any virtual or compound children.
    Returns:
      boolean `true` if this is a virtual document.
    Throws:
      `DfException` - if a server error occurs.

  - ### setIsVirtualDocument

    void setIsVirtualDocument(boolean is_virtual_doc) throws DfException
    Sets the r_is_virtual_doc attribute for the object. Note that clearing this flag will not autmatically cause `isVirtualDocument` to return `false`; `isVirtualDocument` will return `true` for as long as there are containment children.
    Parameters:
      `is_virtual_doc` - If `true`, the document will be treated as a virtual document even if it has no children. If `false`, the document will not be treated as a virtual document ONLY if it has no children.
    Throws:
      `DfException` - if a server error occurs.

  - ### getAssembledFromId

    IDfId getAssembledFromId() throws DfException
    Returns the object id of the virtual document that was the source of the assembly associated with the object. This method returns the value of the r_assembled_from_id attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getFrozenAssemblyCount

    int getFrozenAssemblyCount() throws DfException
    Returns a count of the number of frozen assemblies that contain the object. This method returns the value of the r_frzn_assembly_cnt attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getHasFrozenAssembly

    boolean getHasFrozenAssembly() throws DfException
    Returns whether the document's assembly is frozen. This method returns the value of the r_has_frzn_assembly attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getCompoundArchitecture

    String getCompoundArchitecture() throws DfException
    Used by the virtual document manager to determine if the object can be changed. This method returns the value of the a_compound_architecture attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### setCompoundArchitecture

    void setCompoundArchitecture(String compoundArchitecture) throws DfException
    Used by the virtual document manager to determine if the object can be changed. This method sets the a_compound_architecture attribute of the object.

    The a_compound_architecture attribute is used internally by the Documentum clients' Virtual Document Manager (VDM) to determine if the object can be structurally changed in the VDM. If an object's a_compound_architecture attribute is set to any value other than an empty string, VDM assumes the object is read only and does not allow any structural changes in the object.

    Parameters:
      `compoundArchitecture` - specifies if the object can be structurally changed by the virtual document manager
    Throws:
      `DfException` - if a server error occurs.

  - ### getResolutionLabel

    String getResolutionLabel() throws DfException
    Returns the default version label used to resolve late-bound nodes of a virtual document. This method returns the value of the resolution_label attribute of the object.
    Returns:
      the resolution label of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### setResolutionLabel

    void setResolutionLabel(String label) throws DfException
    Sets the resolution label for the object. This sets the value of the resolution_label attribute of the object.
    Parameters:
      `label` - specifies the resolution label for the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getLinkCount

    int getLinkCount() throws DfException
    Returns the number of objects linked to the object. This method returns the value of the r_link_cnt attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getLinkHighCount

    int getLinkHighCount() throws DfException
    Returns the current maximum order number assigned to a component. This method returns the value of the r_link_high_cnt attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### isLinkResolved

    boolean isLinkResolved() throws DfException
    Returns the a_link_resolved attribute of the object.
    Returns:
      the a_link_resolved attribute
    Throws:
      `DfException` - if a server error occurs.

  - ### setLinkResolved

    void setLinkResolved(boolean linkResolved) throws DfException
    Sets the a_link_resolved attribute of the object.
    Parameters:
      `linkResolved` - specifies the object has been archived.
    Throws:
      `DfException` - if a server error occurs.

  - ### appendPart

    IDfId appendPart(IDfId componentId, String versionLabel, boolean useNodeVerLabel, boolean followAssembly, int copyChild) throws DfException
    Appends a document as the last virtual document child of the object.
    Parameters:
      `componentId` - the object id or chronicle id of the document to be appended.
      `versionLabel` - the version label to use to bind to the new child document.
      `useNodeVerLabel` - if `true`, causes any late bound descendents of the child to inherit the early binding of the child.
      `followAssembly` - if `true` and an assembly is present for the child document, will cause virtual document operations to use the assembly in place of any virtual or compound descendents.
      `copyChild` - determines if a new copy of the child should be created when this parent is copied. A value of 0 indicates that the user (caller) will decide. A value of 1 will reference the same child in the newly copied parent. A value of 2 will cause a new copy of the child to be assocaited with the newly copied parent.
    Returns:
      IDfId the object id of the newly created containment object.
    Throws:
      `DfException` - if a server error occurs.

  - ### insertPart

    IDfId insertPart(IDfId componentID, String versionLabel, IDfId beforeContainmentId, double orderNo, boolean orderNoFlag, boolean useNodeVerLabel, boolean followAssembly, int copyChild) throws DfException
    Inserts a document into the list of virtual child documents for the object.
    Parameters:
      `componentID` - the object id or chronicle id of the document to be inserted.
      `versionLabel` - the version label to use to bind to the new child document.
      `beforeContainmentId` - specifies the containment id occupying the position at which the new component should be inserted.
      `orderNo` - can be used in place of beforeContainmentId to specify the point at which the new child should be inserted.
      `orderNoFlag` - if `true`, orderNo will specify the insertion point. If `false`, `beforeContainmentId` will specify the insertion point.
      `useNodeVerLabel` - if `true`, causes any late bound descendents of the child to inherit the early binding of the child.
      `followAssembly` - if `true` and an assembly is present for the child document, will cause virtual document operations to use the assembly in place of any virtual or compound descendents.
      `copyChild` - determines if a new copy of the child should be created when this parent is copied. A value of 0 indicates that the user (caller) will decide. A value of 1 will reference the same child in the newly copied parent. A value of 2 will cause a new copy of the child to be assocaited with the newly copied parent.
    Returns:
      IDfId the object id of the newly created containment object.
    Throws:
      `DfException` - if a server error occurs.

  - ### removePart

    void removePart(IDfId containmentId, double orderNo, boolean orderNoFlag) throws DfException
    Removes a virtual document child from the object.
    Parameters:
      `containmentId` - the object id for the dmr_containment representing the child to be removed.
      `orderNo` - can be used in place of containmentId to specify the part to be removed.
      `orderNoFlag` - if `true`, `orderNo` will specify the part to be removed. If `false` `containmentId` will specify the part to be removed.
    Throws:
      `DfException` - if a server error occurs.

  - ### updatePart

    void updatePart(IDfId containmentId, String versionLabel, double orderNumber, boolean useNodeVerLabel, boolean followAssembly, int copyChild) throws DfException
    Modifies a child dmr_containment attribute value.
    Parameters:
      `containmentId` - the object id of the dmr_containment to be updated.
      `versionLabel` - the version label to use to bind to the child document.
      `orderNumber` - sequence number of this child relative to its siblings.
      `useNodeVerLabel` - if `true`, causes any late bound descendants of the child to inherit the early binding of the child.
      `followAssembly` - if `true` and an assembly is present for the child document, will cause virtual document operations to use the assembly in place of any virtual or compound descendents.
      `copyChild` - determines if a new copy of the child should be created when this parent is copied. A value of 0 indicates that the user (caller) will decide. A value of 1 will reference the same child in the newly copied parent. A value of 2 will cause a new copy of the child to be associated with the newly copied parent.
    Throws:
      `DfException` - if a server error occurs.

  - ### updatePartEx

    void updatePartEx(IDfId containmentId, String versionLabel, double orderNumber, boolean useNodeVerLabel, boolean followAssembly, int copyChild, String containType, String containDesc) throws DfException
    Throws:
      `DfException`

  - ### assemble

    IDfCollection assemble(IDfId virtualDocId, int interruptFreq, String qualification, String nodesortList) throws DfException
    Creates an assembly and associates it with the object. An implicit transaction is started and left open. The transaction is committed by calling collection.next() on the returned IDfCollection object. You cannot call this method in a transaction.
    Parameters:
      `virtualDocId` - the object id of the virtual doucment to traverse in the creation of the assembly.
      `interruptFreq` - specifies how often the system stops the assembly process and turns control back to the caller (via the collection).
      `qualification` - determines which nodes will be selected for inclusion in the assembly. A qualification is the portion of a DQL SELECT statement that follows "FROM". Pass an empty string to include all nodes.
      `nodesortList` - comma separated list of attributes on which you want to sort version that are candidates for inclusion in the assembly.
    Returns:
      an IDfCollection interface to the results of the most recently executed query.
    Throws:
      `DfException` - if a server error occurs.

  - ### disassemble

    void disassemble() throws DfException
    Disassembles the assembly associated with the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### isFrozen

    boolean isFrozen() throws DfException
    Returns whether this object was specifically frozen and is now unchangeable. This method returns the value of the r_frozen_flag attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### freeze

    void freeze(boolean freezeComponents) throws DfException
    Marks an object as unchangeable (and optionally its components), if the object is a virtual document.
    Parameters:
      `freezeComponents` - Indicates whether you want to freeze the components that make up the specified object's assembly as well as the object itself. Set this flag to `true` to freeze the assembled components as well as the object. This flag is only set if the specified object is a virtual document that has an associated assembly.
    Throws:
      `DfException` - if a server error occurs.

  - ### unfreeze

    void unfreeze(boolean thawComponents) throws DfException
    Unfreezes a frozen object, and optionally if the object is a virtual document, it unfreezes the object's associated assembly.
    Parameters:
      `thawComponents` - Indicates whether you want to unfreeze the assembly associated with the specified object. Set this to `true` to unfreeze the assembly.
    Throws:
      `DfException` - if a server error occurs.

  - ### asVirtualDocument

    IDfVirtualDocument asVirtualDocument(String lateBindingValue, boolean followRootAssembly) throws DfException
    Returns a virtual document representation of the object.

    Refer to Server Fundamentals for more information about virtual documents.

    The following code example demonstrates how to obtain a virtual document representation of an sysobject:

    >      IDfSysObject sysObjRoot = (IDfSysObject)sess.getObject(new DfId("0900d5bb8001fd49"));
    >      IDfVirtualDocument vDoc = sysObjRoot.asVirtualDocument("CURRENT", false);

    Parameters:
      `lateBindingValue` - the symbolic version label to use to resolve late bound nodes.
      `followRootAssembly` - if `true`, the assembly specified by the root node will be used as the "virtual" document.
    Returns:
      a virtual document representation of this sysobject.
    Throws:
      `DfException` - if a server error occurs.

  - ### getComponentIdCount

    int getComponentIdCount() throws DfException
    Returns the number of chronicle IDs of the component documents that make up the virtual document using the computed attribute _componentID.
    Returns:
      the number of chronicle IDs of the component documents that make up the virtual document.
    Throws:
      `DfException` - if a server error occurs.

  - ### getComponentId

    IDfId getComponentId(int index) throws DfException
    Returns the chronicle id of the component documents that make up the virtual document using the computed attribute _componentID.
    Parameters:
      `index` - specifies the position of the component in the virtual document.
    Returns:
      the chronicle id of the specified component documents that make up the virtual document.
    Throws:
      `DfException` - if a server error occurs.

  - ### getContainIdCount

    int getContainIdCount() throws DfException
    Returns the number of containment objects IDs that link the component document to its containing virtual document using the computed attribute _containID.
    Returns:
      the number of containment objects IDs that link the component document to its containing virtual document.
    Throws:
      `DfException` - if a server error occurs.

  - ### getContainId

    IDfId getContainId(int index) throws DfException
    Returns the object id of a containment object that link the component document to its containing virtual document using the computed attribute _containID.
    Parameters:
      `index` - specifies the position of the containment object.
    Throws:
      `DfException` - if a server error occurs.

  - ### isReference

    boolean isReference() throws DfException
    Returns whether the object is a reference object. This method returns the value of the i_is_reference attribute of the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getMasterDocbase

    String getMasterDocbase() throws DfException
    Returns the repository id of the repository that owns the object using the computed attribute _master_docbase.
    Returns:
      the repository id of the repository that owns the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### addReference

    IDfId addReference(IDfId folderId, String bindingCondition, String bindingLabel) throws DfException
    Add a reference to the object in another folder. This folder may be in another repository.
    Parameters:
      `folderId` - specifies the folder the reference object is added.
      `bindingCondition` - the binding condition for the reference object. It can be one of the following 2 values:

                EXACT_ID - the bindingLabel is ignored.
                VERSION_LABEL - the bindingLabel parameter will specify
                                the version label of the object to bind to.

      `bindingLabel` - the binding label for the reference object.
    Returns:
      the object id of the reference object.
    Throws:
      `DfException` - if a reference cannot be added or if a server error occurs.

  - ### refreshReference

    void refreshReference() throws DfException
    Refreshes the reference object. Performs a DMCL "refresh".
    Throws:
      `DfException` - if this object is not a reference object or if a server error occurs.

  - ### getRemoteId

    IDfId getRemoteId() throws DfException
    Returns the object id of the remote object.
    Returns:
      the object id of the remote object.
    Throws:
      `DfException` - if this object is not a reference object or if a server error occurs.

  - ### getAliasSetId

    IDfId getAliasSetId() throws DfException
    Returns the position of alias-binding scope specified in the associated policy object. The default value is -1. If the sysobject is attached to a policy object and the value of this attribute is -1, then no alias binding is allowed for this sysobject.
    Returns:
      the value of the attribute r_policy_alias_set.
    Throws:
      `DfException` - if a server error occurs.

  - ### getAliasSet

    String getAliasSet() throws DfException
    Returns the symbolic name of the policy alias set. This method uses the _policy_alias_set computed attribute.
    Returns:
      the value of the computed attribute _policy_alias_set.
    Throws:
      `DfException` - if a server error occurs.

  - ### resolveAlias

    String resolveAlias(String scopeAlias) throws DfException
    Searches an alias set for a specified alias.
    Parameters:
      `scopeAlias` - the name of the alias you want to search for in the following format: `%[scope].alias`, where `scope` is the name of the alias set associated with the sysobject.
    Returns:
      the alias
    Throws:
      `DfException` - if a server error occurs.

  - ### print

    String print(String printer, boolean printCover, boolean saveOutput, int numCopies, int startingContentPage, int endingContentPage) throws DfException
    Prints the object.
    Parameters:
      `printer` - Specifies the printer that you want to use. Use the object name of the output device object that represents the printer. If you do not specify a printer, the default is the system printer.
      `printCover` - Directs the printer to print a cover page.
      `saveOutput` - Directs the system to save the postscript output generated by the printing process.
      `numCopies` - Defines the number of copies that you want to print.
      `startingContentPage` - Defines the content file with which to start printing.
      `endingContentPage` - Defines the content file at which to end printing.
    Returns:
      returns the print job's number.
    Throws:
      `DfException` - if a server error occurs.

  - ### queue

    IDfId queue(String queueOwner, String event, int priority, boolean sendMail, IDfTime dueDate, String message) throws DfException
    Places the object on a specified queue.

    The following code example demonstrates how to queue an item into a user's inbox:

    >      IDfSysObject sysObj = (IDfSysObject)sess.getObject(new DfId("0900d5bb8001fd49"));
    >      IDfTime t = new DfTime("08/09/2000", "mm/dd/yyyy");
    >      IDfId inboxId = sysObj.queue("tuser","EventName",1,false,time,"Please review.");

    Parameters:
      `queueOwner` - identifies the queue where you want to place the object. Specify the Documentum username of the queue's owner.
      `event` - provides information to be interpreted by the application about the specified object.
      `priority` - defines an application- or user-interpreted priority level for the queued item.
      `sendMail` - directs the server to send an electronic message to the queue's owner notifying the owner that an item has been placed on his or her queue. The notification includes the text of the message argument.
      `dueDate` - a date for the completion of the work represented by the queued object.
      `message` - defines a message to the owner of the queue on which you are placing the task.
    Returns:
      returns the id of an inbox object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getHasEvents

    boolean getHasEvents() throws DfException
    Returns whether any users have registered to receive events for the object. This method returns the value of the r_has_events attribute of the object.
    Returns:
      `true` if users have registered to receive events for the object.
    Throws:
      `DfException` - if a server error occurs.

  - ### getRouters

    IDfCollection getRouters(String additionalAttributes, String orderBy) throws DfException
    Returns a collection of routers the document participates in. The attributes in the returned collection are router_id + any additional attributes passed in as an argument.
    Parameters:
      `additionalAttributes` - for the query string. The parameter is in the form of a comma delimited string orderBy contains the attribute name to be used for the order by clause
    Returns:
      an IDfCollection interface.
    Throws:
      `DfException` - if the query failed.

  - ### getWorkflows

    IDfCollection getWorkflows(String additionalAttributes, String orderBy) throws DfException
    Returns a collection of workflows the document currently participates in. The attributes in the returned collection are r_workflow_id + any additional attributes passed in as an argument
    Parameters:
      `additionalAttributes` - for the query string, and is in the form of a comma delimited string orderBy contains the attribute name to be used for the order by clause
    Returns:
      an IDfCollection interface.
    Throws:
      `DfException` - if the query failed.

  - ### getVdmPath

    IDfCollection getVdmPath(IDfId rootId, boolean shortestPath, String versionList) throws DfException
    Returns the path or paths through a virtual document that lead to a particular component.
    Parameters:
      `rootId` - object ID of a virtual document that contains the component. If you include this argument, the method returns only paths that start with the specified virtual document. If `null`, the method returns all paths to component.
      `shortestPath` - if `TRUE` thie method returns only the shortest path to the component. This argument is `FALSE` by default.
      `versionList` - Defines one or more version labels to be used to select a version when a late-bound component is encountered in a path. You can specify implicit or symbolic version labels. If you include multiple version labels, separate them with commas in a single string variable.
    Returns:
      `IDfCollection` The Vdmpath method returns a collection in which each row contains a result object that represents one path to the component. The result objects have four repeating attributes: r_object_id, i_chronicle_id, object_name, and title. The values at corresponding index positions across the attributes represent one node in the path to the component. * @exception DfException if a server error occurs. The following code example demonstrates the usage of this method.

      >                 IDfCollection collection = null;
      >                 try
      >                 {
      >                     collection = childSysObj.getVdmPath(null, false, "approved,released");
      >                     String attributeName = "object_name";
      >                     while (collection.next())
      >                     {
      >                         IDfTypedObject obj = collection.getTypedObject();
      >                         int count = obj.getValueCount(attributeName);
      >                         StringBuffer vdmPath = new StringBuffer(64 * count);
      >                         vdmPath.append(obj.getRepeatingString(attributeName, 0));
      >                         for (int i = 0; i < count; i++)
      >                         {
      >                             vdmPath.append(obj.getRepeatingString(attributeName, i));
      >                             vdmPath.append("--->");
      >                         }
      >                         System.out.println(vdmPath.toString()) ;
      >                         }
      >                 }
      >                 catch(DfException dfc);
      >                 {
      >                     // Error handling code
      >                 }
      >                 finally
      >                 {
      >                     if (collection != null)
      >                     collection.close();
      >                 }

    Throws:
      `DfException`
    Since:
      6.0

  - ### getVdmPathDQL

    IDfCollection getVdmPathDQL(IDfId rootId, boolean shortestPath, String parentType, String bindingLabel, String nodeSortBy) throws DfException
    Returns the path or paths through a virtual document that lead to a particular component.
    Parameters:
      `rootId` - object ID of a virtual document that contains the component. If you include this argument, the method returns only paths that start with the speci?ed virtual document. If `null`, the method returns all paths to component.
      `shortestPath` - if `TRUE` thie method returns only the shortest path to the component. This argument is `FALSE` by default.
      `parentType` - object type of the parent documents in the paths to the component.if null, the default value set is "dm_sysobject".
      `bindingLabel` - defines a quali?cation used to select a version when a late-bound component is encountered in the path search. The quali?cation is that part of a DQL SELECT statement that appears after the WHERE clause.
      `nodeSortBy` - defines a selection criteria for returned versions if more than one version of a late-bound component meets the conditions imposed in binding_condition. Applies only if binding_condition is included.
    Returns:
      `IDfCollection` The Vdmpath method returns a collection in which each row contains a result object that represents one path to the component. The result objects have four repeating attributes: r_object_id, i_chronicle_id, object_name, and title. The values at corresponding index positions across the attributes represent one node in the path to the component.
    Throws:
      `DfException` - if a server error occurs.
    Since:
      6.0

  - ### getExceptionStateName

    String getExceptionStateName() throws DfException
    Returns the name of the exception state associated with the current state, if any exist. An empty string is returned if there is no associated exception state.
    Returns:
      the exception state name.
    Throws:
      `DfException` - if a server error occurs.

  - ### addDigitalSignature

    IDfId addDigitalSignature(String userName, String reason) throws DfException
    Create an audit trail entry that records the signing of a DfSysObject by a user.
    Parameters:
      `userName` - The name of the user who actually signed this DfSysObject or null to indicate the connected user signed.
      `reason` - Up to 200 characters describing why the document was signed or null.
    Returns:
      The id of the audit audit record this creates.
    Throws:
      `DfException`

  - ### addESignature

    IDfId addESignature(String userName, String password, String signatureJustification, String formatToSign, String hashAlgorithm, String preSignatureHash, String signatureMethodName, String applicationProperties, String passThroughArgument1, String passThroughArgument2) throws DfException
    Electronically sign a sysobject. This method performs the following actions:
    - Verify that Trusted Content Services are enabled.
    - Authenticate the user using the password argument.
    - Verify that the document is checked-in.
    - Validate any pre-existing signatures.
    - Verify that preSignatureHash is valid.
    If any of the prior actions fail then the method fails. Otherwise, a signature page is added to the sysobject content specified in the formatToSign argument. The content is then hashed and the hash is saved in a dm_addesignature audit record. This record is used for later verification of the signed object. If the sysobject content is altered in the future then the signature will no longer verify.
    This method requires that Trusted Content Services are enabled.
    Parameters:
      `userName` - The name of the user who is signing. If empty then the name of the currently logged in user is used.
      `password` - The password used to authenticate the user.
      `signatureJustification` - The reason given for signing the document. This text is included on the signature page.
      `formatToSign` - The content type which will receive the signature page. If empty then 'pdf' is used. A custom signature method must be provided in order to sign formats other than 'pdf'.
      `hashAlgorithm` - Specifies the hash algorithm to use when hashing the content. Currently only "SHA-1" is supported. If empty then "SHA-1" is used.
      `preSignatureHash` - A string containing a hash of the document that is being signed. This is used by the server to confirm identity of the document prior to signing. If empty then no check is made. The hash result is represented in hex and formatted along with the hash algorithm and the content format. Currently only "SHA-1" and "pdf" are supported. The string has the form: {SHA-1}/{pdf}:f64d3298b660119d5adbbf03f4eb683bca98b5a1
      `signatureMethodName` - The name of the server method that will add the signature page. If empty then the default method "esign_pdf" will be used. Custom signature methods can be created and specified here.
      `applicationProperties` - Used to optionally pass additional signature information to the signature method for inclusion on the signature page. See the server addesignature method documentation for signature page customization details. hashing the content. Currently only "SHA-1" is supported. If empty then "SHA-1" is used.
      `passThroughArgument1` - This argument can be used to pass information to custom signature methods. It is unused by the default signature method.
      `passThroughArgument2` - This argument can be used to pass information to custom signature methods. It is unused by the default signature method.
    Returns:
      returns the id of the dm_addesignature audit record tha is created.
    Throws:
      `DfException` - if a server error occurs.

  - ### verifyESignature

    void verifyESignature() throws DfException
    Verify the signature on an electronically signed sysobject. This method performs the following actions:
    - Verify that Trusted Content Services are enabled.
    - Verify that the object is signed.
    - Verify that the last addesignature audit record for this object is valid.
    - Verify that the signature hash in the audit record matches the object hash.
    If any of the prior actions fail then the method fails.
    Throws:
      `DfException` - if the signature cannot be verified.

  - ### getContentAvailability

    IDfContentAvailability getContentAvailability(String formatName, int pageNumber, String pageModifier, String networkLocationIdentifier) throws DfException
    Returns content availability settings. This does not guarantee that content can be retrieved.
    Parameters:
      `formatName` - specifies the format in which you want the file.
      `pageNumber` - identifies the position of the content when the object has multiple contents; otherwise, use 0.
      `pageModifier` - uniquely identifies a rendition within the same page number and format. If `null` is passed then the rendition with an empty page_modifier value is returned. But if there doesn't exist a rendition without a page_modifier and `null` is passed, then the one with the smallest page_modifier (in alphabetical order) will be returned.
      `networkLocationIdentifier` - user network location identifier
    Returns:
      content availability
    Throws:
      `DfException` - if a server error occurs.
    Since:
      D6

  - ### isContentTransferCapabilityEnabled

    boolean isContentTransferCapabilityEnabled(String networkLocationIdentifier, IDfContentTransferCapability capability) throws DfException
    Returns whether content transfer capability is enabled for the object
    Parameters:
      `networkLocationIdentifier` - user network location identifier
      `capability` - content transfer capability
    Returns:
      true, if capability is enabled, false otherwise.
    Throws:
      `DfException` - if a server error occurs.

  - ### getAcsRequests

    IDfEnumeration getAcsRequests(String formatName, int pageNumber, String pageModifier, IDfAcsTransferPreferences transferPreferences) throws DfException
    Returns an `IDfEnumeration` object containing a list of `IDfAcsRequest` objects. These objects allow accessing content, using ACS and/or BOCS.
    Parameters:
      `formatName` - specifies the format in which you want the file.
      `pageNumber` - identifies the position of the content when the object has multiple contents; otherwise, use 0.
      `pageModifier` - uniquely identifies a rendition within the same page number and format. If `null` is passed then the rendition with an empty page_modifier value is returned. But if there doesn't exist a rendition without a page_modifier and `null` is passed, then the one with the smallest page_modifier (in alphabetical order) will be returned.
      `transferPreferences` - `IDfAcsTransferPreferences` object to be used.
    Returns:
      `IDfEnumeration` of `IDfAcsRequest` objects for the requested content.
    Throws:
      `DfException` - if a server error occurs.
    Since:
      D6

  - ### getRetainUntilDate

    IDfTime getRetainUntilDate() throws DfException
    Returns the retain until date for this object.
    Throws:
      `DfException`

  - ### getRetainerCount

    int getRetainerCount() throws DfException
    Return the number of retainers on this object. The returned value does not reflect unsaved changes.
    Throws:
      `DfException`

  - ### getRetainerId

    IDfId getRetainerId(int index) throws DfException
    Return the id of the requested retainer. The returned value does not include unsaved changes.
    Parameters:
      `index` -
    Throws:
      `DfException`

  - ### getContentSize

    long getContentSize(int page, String formatName, String pageModifier) throws DfException
    Return the content size according to the page, format and pageModifier of the content
    Parameters:
      `page` - page number of the content
      `formatName` - format of the content
      `pageModifier` - pageModifier of the content
    Returns:
      content size of the qualified content
    Throws:
      `DfException`

  - ### getOtherFileSize

    long getOtherFileSize(int page, String formatName, String pageModifier) throws DfException
    Return the other file (resource fork for mac os) size according to the page, format and pageModifier of the content
    Parameters:
      `page` - page number of the content
      `formatName` - format of the content
      `pageModifier` - pageModifier of the content
    Returns:
      other file size of the qualified content
    Throws:
      `DfException`