Package com.documentum.fc.client

# Interface IDfSession

public interface IDfSession
This interface encapsulates a session with a Documentum repository. Clients use this interface to perform repository operations, query repository information, and get to persistent objects stored in the repository.

The preferred method to obtain a DFC session is to call `IDfSessionManager.getSession(java.lang.String)`. You can also use methods on `IDfClient` to obtain sessions.

See Also:
  - `IDfSessionManager`
  - `IDfClient`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `CURRENCY_CHECK_ALWAYS`
  Currency check value to always check if the object is current.
  `static final String`
  `CURRENCY_CHECK_FIRST_ACCESS`
  Currency check value to only check currency for the first access.
  `static final String`
  `CURRENCY_CHECK_NEVER`
  Currency check value to never check if the object is current.
  `static final String`
  `CURRENCY_CHECK_ONCE_PER_SCOPE`
  Currency check value to only check currency once per currency scope.
  `static final int`
  `DF_COMPLETED_ROUTER_TASKS`
  Filter used for calling `getTasksEx(java.lang.String, int, com.documentum.fc.common.IDfList, com.documentum.fc.common.IDfList)`.
  `static final int`
  `DF_NOTIFICATIONS`
  Filter used for calling `getTasks(java.lang.String, int, java.lang.String, java.lang.String)` and `getTasksEx(java.lang.String, int, com.documentum.fc.common.IDfList, com.documentum.fc.common.IDfList)`.
  `static final int`
  `DF_ROUTER_TASKS`
  Filter used for calling `getTasksEx(java.lang.String, int, com.documentum.fc.common.IDfList, com.documentum.fc.common.IDfList)`.
  `static final int`
  `DF_TASKS`
  Filter used for calling `getTasks(java.lang.String, int, java.lang.String, java.lang.String)`.
  `static final int`
  `DF_TASKS_AND_NOTIFICATIONS`
  Filter used for calling `getTasks(java.lang.String, int, java.lang.String, java.lang.String)`.
  `static final int`
  `DF_WORKFLOW_TASKS`
  Filter used for calling `getTasksEx(java.lang.String, int, com.documentum.fc.common.IDfList, com.documentum.fc.common.IDfList)`.
  `static final int`
  `DM_EXEC`
  It is used with processing the return value of `apiDesc(java.lang.String)` method.
  `static final int`
  `DM_GET`
  It is used with processing the return value of `apiDesc(java.lang.String)` method.
  `static final int`
  `DM_OTHER`
  It is used with processing the return value of `apiDesc(java.lang.String)` method.
  `static final int`
  `DM_SET`
  It is used with processing the return value of `apiDesc(java.lang.String)` method.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `abortTrans()`
  Closes an explicit database transaction and cancels any changes made since the call to `beginTrans()`.
  `void`
  `abortTransEx(IDfLocalTransaction tx)`
  abort the transaction specified by the IDfTransaction
  `void`
  `addDynamicGroup(String groupName)`
  Adds the session user to the dynamic group for this session.
  `IDfList`
  `apiDesc(String api)`
  Deprecated.
  `boolean`
  `apiExec(String cmd, String args)`
  Deprecated.
  `String`
  `apiGet(String cmd, String args)`
  Deprecated.
  `ByteArrayInputStream`
  `apiGetBytes(String cmd, String args, String buf, String buflen, int length)`
  Deprecated.
  `boolean`
  `apiSet(String cmd, String args, String value)`
  Deprecated.
  `boolean`
  `apiSetBytes(String cmd, String args, ByteArrayOutputStream content)`
  Deprecated.
  `IDfCollection`
  `apply(String objId, String functionName, IDfList args, IDfList dataType, IDfList values)`
  Calls the server API Apply method.
  `IDfId`
  `archive(String predicate, String operatorName, int priority, boolean sendMail, IDfTime dueDate)`
  Queues an archive request to the repository operator.
  `void`
  `assume(IDfLoginInfo loginInfo)`
  Gives ownership of the session to a new user.
  `void`
  `authenticate(IDfLoginInfo loginInfo)`
  Validates credentials without returning a new session.
  `void`
  `beginTrans()`
  Opens an explicit database transaction.
  `IDfLocalTransaction`
  `beginTransEx()`
  begin a nested transaction
  `void`
  `changePassword(String oldPasswd, String newPasswd)`
  Changes a password.
  `com.documentum.fc.client.DormantStatus`
  `checkDormantStatus()`
  Checks the status of the server to which this session is connected For this operation to succeed, the user of this session should be a member of the dm_datacenter_managers group
  `com.documentum.fc.client.DormantStatus`
  `checkDormantStatus(boolean allServersForThisDocbase)`
  Checks whether a server or docbase is dormant or not For this operation to succeed, the user of this session should be a member of the dm_datacenter_managers group
  `IDfCollection`
  `collectMetrics(List<String> metricsToCollect)`
  This methods indicates to the server to collect the metrics that have been passed in to this method.
  `IDfCollection`
  `collectMetrics(List<String> metricsToCollect, String outputFormat)`
  This methods indicates to the server to collect the metrics that have been passed in to this method.
  `void`
  `commitTrans()`
  Commits all changes made after a `beginTrans()` method call.
  `void`
  `commitTransEx(IDfLocalTransaction tx)`
  commit the transaction specified by the IDfLocalTransaction
  `void`
  `dequeue(IDfId stampId)`
  Removes items from an inbox that were placed there using the `queue` method.
  `void`
  `dequeueAll()`
  Removes all items from an inbox that were placed there using the `queue` method.
  `String`
  `describe(String type, String objType)`
  Describes the attributes of a type or registered table.
  `boolean`
  `disableSaveInDormantState()`
  Disables save operation for dormant state.
  `void`
  `disconnect()`
  Disconnects the DFC session.
  `boolean`
  `enableSaveInDormantState()`
  Enables save operation for dormant state.
  `String`
  `exportTicketKey(String password)`
  Returns the login ticket key of the repository.
  `void`
  `flush(String flushType, String cacheKey)`
  Removes cached queries from the client's query caches, ACLs and Group objects from the session cache, and type information from the data dictionary cache.
  `void`
  `flushCache(boolean discardChanged)`
  Removes objects from the server and client caches.
  `void`
  `flushCachedQuery(String dqlQuery)`
  Remove the specified query from the query cache.
  `void`
  `flushEx(String flushType, String cacheKey, boolean resetChangeBit, boolean includeSubtypes)`
  Removes cached queries from the client's query caches, ACLs and Group objects from the session cache, and type information from the data dictionary cache.
  `void`
  `flushGlobalCache(String cacheName)`
  Removes objects from a global server cache.
  `void`
  `flushObject(IDfId objectId)`
  Remove the specified object from the cache.
  `IDfACL`
  `getACL(String aclDomain, String aclName)`
  Returns an ACL object.
  `IDfAcsTransferPreferences`
  `getAcsTransferPreferences()`
  Returns an `IDfAcsTransferPreferences` object.
  `String`
  `getAliasSet()`
  Returns the alias set name of this session config object.
  `String`
  `getApplicationToken(String userName, String scope, int timeout, String appId, boolean machineOnly)`
  Acquires an application access control token.
  `IDfAuditTrailManager`
  `getAuditTrailManager()`
  Retrieves the Audit Trail manager for this session.
  `IDfBatchManager`
  `getBatchManager()`
  return the batch manager of the session
  `IDfClient`
  `getClient()`
  Returns the DFC client object from which this session was obtained.
  `IDfTypedObject`
  `getClientConfig()`
  Returns an api config object.
  `IDfTypedObject`
  `getConnectionConfig()`
  Returns the connection config object for a repository session.
  `String`
  `getDBMSName()`
  Returns the name of the RDBMS that underlies the repository identified in the default repository scope.
  `int`
  `getDefaultACL()`
  Identifies the default ACL for a Documentum server.
  `String`
  `getDMCLSessionId()`
  Deprecated.
  use `getSessionId()` instead.
  `IDfTypedObject`
  `getDocbaseConfig()`
  Returns a docbase config object for a repository session.
  `String`
  `getDocbaseId()`
  Returns the ID of the repository defined as the default repository scope.
  `String`
  `getDocbaseName()`
  Returns the name of the repository identified as the default repository scope.
  `String`
  `getDocbaseOwnerName()`
  Returns the name of the user who owns the repository identified as the default repository scope.
  `String`
  `getDocbaseScope()`
  Returns the default repository scope of this session.
  `IDfTypedObject`
  `getDocbrokerMap()`
  Returns information about the DocBrokers known to the DFC.
  `String`
  `getDynamicGroup(int index)`
  Gets the dynamic group at the specified index from the sessionConfig.
  `int`
  `getDynamicGroupCount()`
  Gets the number of dynamic groups that the session user is actively participating as a member of.
  `IDfEventManager`
  `getEventManager()`
  Retrieves the Event manager for this session.
  `IDfCollection`
  `getEvents()`
  Returns all unread items in a user's inbox.
  `IDfFolder`
  `getFolderByPath(String folderPath)`
  Returns a folder object.
  `IDfFolder`
  `getFolderBySpecification(String folderSpec)`
  Returns the folder matching the folder specification or null if the folder can not be found.
  `IDfFormat`
  `getFormat(String formatName)`
  Returns a format object that contains information about the format.
  `IDfFtConfig`
  `getFtConfig()`
  Get the fulltext configuration object that contains information about what capabilities the underlying fulltext engine has
  `IDfGroup`
  `getGroup(String groupName)`
  Returns a group object that contains information about the repository group.
  `IDfId`
  `getIdByQualification(String qualification)`
  Returns the ID of a Documentum object that satisfies the DQL qualification.
  `IDfCollection`
  `getLastCollection()`
  Returns the collection object for the most recently executed query.
  `IDfLoginInfo`
  `getLoginInfo()`
  Returns a copy of the login information used to establish this DFC session.
  `String`
  `getLoginTicket()`
  Returns a new ticket based on the current session login information.
  `String`
  `getLoginTicketEx(String userLoginName, String scope, int timeout, boolean singleUse, String serverName)`
  Returns a new ticket based on the current session login information.
  `String`
  `getLoginTicketForUser(String userName)`
  Returns a ticket for a specific user.
  `String`
  `getLoginUserName()`
  Returns the repository name of the current user.
  `String`
  `getMessage(int severityLevel)`
  Returns all messages from an established session at or above a specified severity level.
  `IDfMessageQueueManager`
  `getMessageQueueManager()`
  Get a message queue factory object.
  `IDfLocalModuleRegistry`
  `getModuleRegistry()`
  Factory method that instantiates an `IDfLocalModulesRegistry`, a repository module registry object.
  `IDfPersistentObject`
  `getObject(IDfId objectId)`
  Returns a Documentum server object.
  `IDfPersistentObject`
  `getObjectByPath(String objectPath)`
  Returns a Documentum server object given a full path to the object.
  `IDfPersistentObject`
  `getObjectByQualification(String qualification)`
  Returns a Documentum server object that satisfies the DQL qualification.
  `IDfPersistentObject`
  `getObjectByQualificationWithInterface(String qualification, String interfaceName)`
  Deprecated.
  Please use Aspects instead for interface extension.
  `IDfEnumeration`
  `getObjectPaths(IDfId objectId)`
  Generate `IDfEnumeration`object of `IDfObjectPath`objects for an object with a given object id.````
  `IDfObjectPathsMap`
  `getObjectPaths(IDfList objectIdsList)`
  Generate a map of `IDfObjectPath`objects for a list of objects with given object ids.``
  `IDfEnumeration`
  `getObjectsByQuery(String dql, String optionalTypeName)`
  Returns an enumeration of persistent objects using data obtained through a query.
  `IDfPersistentObject`
  `getObjectWithCaching(IDfId objectId, String typeNameIgnored, String classNameIgnored, String currencyCheckValue, boolean usePersistentCache, boolean useSharedCache)`
  Returns a Documentum server object.
  `IDfPersistentObject`
  `getObjectWithInterface(IDfId objectId, String extraInterfaceName)`
  Deprecated.
  Please use Aspects instead for interface extension.
  `IDfPersistentObject`
  `getObjectWithOptions(IDfId objectId, IDfGetObjectOptions objectOptions)`
  Returns a Documentum server object.
  `IDfPersistentObject`
  `getObjectWithType(IDfId objectId, String typeNameIgnored, String classNameIgnored)`
  Deprecated.
  `IDfSession`
  `getRelatedSession(IDfId objectId)`
  Returns a related session appropriate for operating on the given object id.
  `IDfSession`
  `getRelatedSession(String docbaseSpecString)`
  Returns a related session to a named docbase.
  `IDfRelationType`
  `getRelationType(String relationName)`
  Returns a relation type object that contains information about a kind of relationship.
  `IDfPersistentObject`
  `getReplicaForMaster(IDfId masterId)`
  Get the replica object for a specific master object.
  `IDfCollection`
  `getRunnableProcesses(String additionalAttributes)`
  Returns a collection that contains the object ID and attribute values of all installed dm_process objects in a repository.
  `String`
  `getSecurityMode()`
  Returns the security mode of the repository identified as the default repository scope.
  `IDfTypedObject`
  `getServerConfig()`
  Returns a server config object for a repository session.
  `IDfTypedObject`
  `getServerMap(String docbaseName)`
  Returns information about the servers that are known to a DocBroker.
  `String`
  `getServerVersion()`
  Returns the version string of a Documentum server.
  `IDfTypedObject`
  `getSessionConfig()`
  Returns the session config object for a repository session.
  `String`
  `getSessionId()`
  Returns the DFC session ID of the session.
  `IDfSessionManager`
  `getSessionManager()`
  Returns the session manager that manages the current session.
  `IDfSessionScopeManager`
  `getSessionScopeManager()`
  Returns an IDfSessionScopeManager object.
  `IDfCollection`
  `getTasks(String userName, int filter, String additionalAttributes, String orderBy)`
  Retrieves the work items assigned to the specified user.
  `IDfCollection`
  `getTasksEx(String userName, int filter, IDfList orderByList, IDfList ascendingList)`
  Retrieves the work items assigned to the specified user.
  `IDfType`
  `getType(String typeName)`
  Returns a Documentum server type object.
  `IDfTypedObject`
  `getTypeDescription(String typeName, String attribute, IDfId policyId, String state)`
  Returns the data dictionary information about an object type and its attributes.
  `IDfUser`
  `getUser(String userName)`
  Returns a user object that contains information about the repository user.
  `IDfUser`
  `getUserByLoginName(String userLoginName, String userLoginDomain)`
  Returns a user object that contains information about the repository user.
  `IDfUser`
  `getUserByOSName(String userOSName, String userOSDomain)`
  Returns a user object that contains information about the repository user.
  `IDfVersionTreeLabels`
  `getVersionTreeLabels(IDfId chronicleId)`
  Returns the version labels associated with the versions of a SysObject.
  `boolean`
  `hasEvents()`
  Indicates whether a user's inbox contains unread items.
  `boolean`
  `importTicketKey(String key, String password)`
  Sets the given key, encrypted using the given password, as the login ticket key of the repository.
  `boolean`
  `isACLDocbase()`
  Indicates whether repository identified as the default repository scope is operating in ACL mode.
  `boolean`
  `isAdopted()`
  Deprecated.
  `boolean`
  `isClientAuthenticated()`
  Stateful connection information.
  `boolean`
  `isConnected()`
  Indicates whether the DFC session is still connected to a repository server.
  `boolean`
  `isDeadlockVictim()`
  Indicates whether the DFC session was chosen as the vicim of a deadlock.
  `boolean`
  `isRemote()`
  Deprecated.
  `boolean`
  `isRestricted()`
  Indicates whether the DFC session is a restricted session.
  `boolean`
  `isServerAuthenticated()`
  Stateful connection information.
  `boolean`
  `isServerTraceOptionSet(String optionName)`
  Queries the status of server-side tracing options for the session.
  `boolean`
  `isShared()`
  Indicates whether the session is a shared DFC session.
  `boolean`
  `isTransactionActive()`
  Checks if there is an active transaction.
  `void`
  `killSession(IDfId sessionId, String immediacyLevel, String message)`
  Kill the specified server session.
  `IDfCollection`
  `listMetricsState()`
  Retrieves the state of all the metrics that are gatherable from the server.
  `boolean`
  `lock(int timeoutInMsec)`
  Deprecated.
  `boolean`
  `makeActive()`
  Makes a request to move the server to which this session is connected to an active state For this operation to succeed, the user of this session should be a member of the dm_datacenter_managers group
  `boolean`
  `makeActive(boolean allServersForThisDocbase)`
  Makes a request to move the docbase or server to an active state For this operation to succeed, the user of this session should be a member of the dm_datacenter_managers group
  `IDfPersistentObject`
  `newLightObject(String typeName, IDfId parentId)`
  Creates a persistent light type object given a specified Documentum server shareable type.
  `IDfPersistentObject`
  `newObject(String typeName)`
  Creates a persistent object given a specified Documentum server type.
  `IDfPersistentObject`
  `newObjectWithType(String typeName, String classNameIgnored)`
  Deprecated.
  `IDfWorkflowBuilder`
  `newWorkflowBuilder(IDfId processId)`
  Creates a workflow builder object.
  `boolean`
  `projectActiveStatus()`
  Only projects to docbroker that this server is active.
  `boolean`
  `projectDormantStatus()`
  Only projects to docbroker that this server is dormant.
  `void`
  `publishDataDictionary(String locale, String typeName, String attributeName, boolean forcePublish)`
  Publish Data Dictionary information.
  `void`
  `purgeLocalFiles()`
  Removes all files that have been copied into the local area during the current session.
  `void`
  `reInit(String serverConfigName)`
  Reinitializes a server's root and spawned processes.
  `void`
  `reInitEx(String serverConfigName, boolean sendToDocBroker)`
  Reinitializes a server's root and spawned processes.
  `void`
  `removeDynamicGroup(String groupName)`
  Removes the session user from the dynamic group for this session.
  `void`
  `reparentLightObjects(IDfId newParentId, IDfList childIds)`
  Reparents multiple lightweight objects at a time.
  `boolean`
  `requestDormancy()`
  Makes a request to move the server to which this session is connected to a dormant state.
  `boolean`
  `requestDormancy(boolean allServersForThisDocbase)`
  Makes a request to move the docbase or server to a dormant state For this operation to succeed, the user of this session should be a member of the dm_datacenter_managers group
  `boolean`
  `resetMetrics()`
  This is for resetting the metrics.
  `boolean`
  `resetPassword(String password)`
  Resets password or login ticket associated with the user credential of the current session.
  `boolean`
  `resetTicketKey()`
  Generates an asymmetric key and sets it as the login ticket key of the repository.
  `String`
  `resolveAlias(IDfId sysObject, String scopeAlias)`
  Returns the value mapped to a given alias.
  `void`
  `reStart(String serverConfigName, boolean restartClient)`
  Reinitializes a server's spawned process to which the current session is connected.
  `IDfId`
  `restore(String predicate, String dumpFile, String operatorName, int priority, boolean sendMail, IDfTime dueDate)`
  Queues a request to restore a content file or files from the archives.
  `IDfId`
  `sendToDistributionList(IDfList toUsers, IDfList toGroups, String instructions, IDfList objectIDs, int priority, boolean endNotification)`
  Deprecated.
  As of DFC 5.2, replaced by `sendToDistributionListEx(com.documentum.fc.common.IDfList, com.documentum.fc.common.IDfList, java.lang.String, com.documentum.fc.common.IDfList, int, int)`
  `IDfId`
  `sendToDistributionListEx(IDfList toUsers, IDfList toGroups, String instructions, IDfList objectIDs, int priority, int flags)`
  Creates and starts an ad-hoc workflow.
  `void`
  `setAcsTransferPreferences(IDfAcsTransferPreferences acsTransferPreferences)`
  Sets an `IDfAcsTransferPreferences` object.
  `void`
  `setAliasSet(String name)`
  Sets the alias_set attribute of this session_config.
  `void`
  `setBatchHint(int batchSize)`
  Sets the maximum number of rows returned to the server for each call to the underlying RDBMS.
  `String`
  `setDocbaseScope(String docbaseName)`
  THIS METHOD IS NOT THREAD SAFE.
  `String`
  `setDocbaseScopeById(IDfId objectId)`
  THIS METHOD IS NOT THREAD SAFE.
  `void`
  `setServerTraceLevel(int level, String facility)`
  Sets the session's tracing level for a particular facility on the server.
  `void`
  `shutdown(boolean immediate, boolean deleteEntry)`
  Shuts down a server.
  `IDfCollection`
  `startGatheringMetrics(List<String> metricsToGather)`
  This methods indicates to the server to start gathering the metrics that have been passed in to this method.
  `IDfCollection`
  `stopGatheringMetrics(List<String> metricsToStop)`
  This methods indicates to the server to stop gathering the metrics that have been passed in to this method.
  `void`
  `traceDMCL(int level, String traceFile)`
  Deprecated.
  Please configure tracing using the ClientConfig object `IDfClient.getClientConfig()`
  `boolean`
  `unlock()`
  Deprecated.

- ## Field Details

  - ### DF_TASKS

    static final int DF_TASKS
    Filter used for calling `getTasks(java.lang.String, int, java.lang.String, java.lang.String)`.
    See Also:
      - Constant Field Values

  - ### DF_NOTIFICATIONS

    static final int DF_NOTIFICATIONS
    Filter used for calling `getTasks(java.lang.String, int, java.lang.String, java.lang.String)` and `getTasksEx(java.lang.String, int, com.documentum.fc.common.IDfList, com.documentum.fc.common.IDfList)`.
    See Also:
      - Constant Field Values

  - ### DF_TASKS_AND_NOTIFICATIONS

    static final int DF_TASKS_AND_NOTIFICATIONS
    Filter used for calling `getTasks(java.lang.String, int, java.lang.String, java.lang.String)`.
    See Also:
      - Constant Field Values

  - ### DF_WORKFLOW_TASKS

    static final int DF_WORKFLOW_TASKS
    Filter used for calling `getTasksEx(java.lang.String, int, com.documentum.fc.common.IDfList, com.documentum.fc.common.IDfList)`.
    Since:
      5.1
    See Also:
      - Constant Field Values

  - ### DF_ROUTER_TASKS

    static final int DF_ROUTER_TASKS
    Filter used for calling `getTasksEx(java.lang.String, int, com.documentum.fc.common.IDfList, com.documentum.fc.common.IDfList)`.
    Since:
      5.1
    See Also:
      - Constant Field Values

  - ### DF_COMPLETED_ROUTER_TASKS

    static final int DF_COMPLETED_ROUTER_TASKS
    Filter used for calling `getTasksEx(java.lang.String, int, com.documentum.fc.common.IDfList, com.documentum.fc.common.IDfList)`.
    Since:
      5.1
    See Also:
      - Constant Field Values

  - ### DM_GET

    static final int DM_GET
    It is used with processing the return value of `apiDesc(java.lang.String)` method. Represents cmdCallType for dmAPIGet().
    See Also:
      - Constant Field Values

  - ### DM_SET

    static final int DM_SET
    It is used with processing the return value of `apiDesc(java.lang.String)` method. Represents cmdCallType for dmAPISet().
    See Also:
      - Constant Field Values

  - ### DM_EXEC

    static final int DM_EXEC
    It is used with processing the return value of `apiDesc(java.lang.String)` method. Represents cmdCallType for dmAPIExec().
    See Also:
      - Constant Field Values

  - ### DM_OTHER

    static final int DM_OTHER
    It is used with processing the return value of `apiDesc(java.lang.String)` method. Represents cmdCallType for other methods.
    See Also:
      - Constant Field Values

  - ### CURRENCY_CHECK_ALWAYS

    static final String CURRENCY_CHECK_ALWAYS
    Currency check value to always check if the object is current.
    See Also:
      - Constant Field Values

  - ### CURRENCY_CHECK_NEVER

    static final String CURRENCY_CHECK_NEVER
    Currency check value to never check if the object is current.
    See Also:
      - Constant Field Values

  - ### CURRENCY_CHECK_FIRST_ACCESS

    static final String CURRENCY_CHECK_FIRST_ACCESS
    Currency check value to only check currency for the first access.
    See Also:
      - Constant Field Values

  - ### CURRENCY_CHECK_ONCE_PER_SCOPE

    static final String CURRENCY_CHECK_ONCE_PER_SCOPE
    Currency check value to only check currency once per currency scope.
    See Also:
      - Constant Field Values

- ## Method Details

  - ### isConnected

    boolean isConnected()
    Indicates whether the DFC session is still connected to a repository server.

    If the session has been disconnected, all subsequent calls made using the session will cause an exception `IDfException.DM_DFCSESS_E_DISCONNECTED` to be thrown.
    Returns:
      `true` if this session is connected to a Documentum server; `false` if this session has been disconnected.
    See Also:
      - `disconnect()`

  - ### isShared

    boolean isShared() throws DfException
    Indicates whether the session is a shared DFC session.

    A shared session is a session obtained using `IDfClient.getSharedSession(java.lang.String, com.documentum.fc.common.IDfLoginInfo, java.lang.String)`

    Returns:
      `true` if this is a shared session; `false` if it is not
    Throws:
      `DfException` - if the session has been disconnected

  - ### disconnect

    void disconnect() throws DfException
    Disconnects the DFC session.

    After a session is disconnected, all subsequent calls made using that session cause the exception `IDfException.DM_DFCSESS_E_DISCONNECTED` to be thrown.

    You cannot use this method to disconnect an adopted session.

    The following code example demonstrates how to disconnect a session:

    >      sess.disconnect();
    >      if (!sess.isConnected())
    >      {
    >           // Successfully disconnected...
    >      }

    Throws:
      `DfException` - if this is an adopted session or this session is already diconnected.
    See Also:
      - `isConnected()`

  - ### isTransactionActive

    boolean isTransactionActive() throws DfException
    Checks if there is an active transaction. A transaction would be started by beginTrans, beginTransEx, and openBatch. This method works for managed and unmanaged sessions.
    Returns:
      true if the transaction is still active (false otherwise)
    Throws:
      `DfException`
    Since:
      5.2

  - ### beginTrans

    void beginTrans() throws DfException
    Opens an explicit database transaction.

    An explicit database transaction is a transaction that is opened by executing the `beginTrans` method. Note that any changes that you save or check in are not committed to a repository until you call the `commitTrans` method.

    You can cancel the database transaction by calling the `abortTrans` method. Refer to the Server Fundamentals for more information about explicit transactions.
    Throws:
      `DfException` - if a server error occurs
    See Also:
      - `abortTrans()`
      - `commitTrans()`

  - ### abortTrans

    void abortTrans() throws DfException
    Closes an explicit database transaction and cancels any changes made since the call to `beginTrans()`.

    An explicit database transaction is a transaction that is opened by executing the `beginTrans` method. Refer to the Server Fundamentals for more information about explicit transactions.
    Throws:
      `DfException` - if a server error occurs
    See Also:
      - `beginTrans()`
      - `commitTrans()`

  - ### commitTrans

    void commitTrans() throws DfException
    Commits all changes made after a `beginTrans()` method call.

    You cannot call `commitTrans` if you have previously called `abortTrans` or `commitTrans` on a database transaction.
    Throws:
      `DfException` - if a server error occurs
    See Also:
      - `abortTrans()`
      - `beginTrans()`

  - ### beginTransEx

    IDfLocalTransaction beginTransEx() throws DfException
    begin a nested transaction
    Returns:
      IDfLocalTransaction object for the new created transaction
    Throws:
      `DfException`

  - ### commitTransEx

    void commitTransEx(IDfLocalTransaction tx) throws DfException
    commit the transaction specified by the IDfLocalTransaction
    Parameters:
      `tx` - the IDfLocalTransaction object
    Throws:
      `DfException`

  - ### abortTransEx

    void abortTransEx(IDfLocalTransaction tx) throws DfException
    abort the transaction specified by the IDfTransaction
    Parameters:
      `tx` - the IDfLocalTransaction object
    Throws:
      `DfException`

  - ### getBatchManager

    IDfBatchManager getBatchManager()
    return the batch manager of the session
    Returns:
      IDfBatchManager

  - ### authenticate

    void authenticate(IDfLoginInfo loginInfo) throws DfException
    Validates credentials without returning a new session.
    Parameters:
      `loginInfo` - An `IDfLoginInfo` object that contains the required user validation information.
    Throws:
      `DfException` - if a server error occurs.
    Since:
      5.2

  - ### getSessionManager

    IDfSessionManager getSessionManager()
    Returns the session manager that manages the current session. If sessoin object has been created by the IDfClient.newSession method it will instantiate a new session manager object and will adopt the current session.
    Returns:
      The Session manager object
    Since:
      5.2

  - ### getSessionConfig

    IDfTypedObject getSessionConfig() throws DfException
    Returns the session config object for a repository session.

    A session config object records the configuration of a client's repository session.
    Returns:
      the session config object
    Throws:
      `DfException` - if a server error occurs

  - ### getConnectionConfig

    IDfTypedObject getConnectionConfig() throws DfException
    Returns the connection config object for a repository session.

    Each repository connection established during an API session has connection config object. Connection config objects are non-persistent. They are destroyed when the repository connection is terminated.

    For more information about connection config objects and their relationship to session config objects and api config objects, refer to the Server Administrator's Guide. The Server Reference Manual contains information about the attributes in a connection config object.
    Returns:
      An IDfTypedObject interface object that contains the connection config object
    Throws:
      `DfException` - if a server error occurs

  - ### getDocbaseConfig

    IDfTypedObject getDocbaseConfig() throws DfException
    Returns a docbase config object for a repository session.

    This method returns the docbase config object for the repository identified in the default repository scope.

    A docbase config object contains information about a repository. Each repository has a docbase config object whose object name matches the name of the repository. Refer to the Server Reference Manual for more information about docbase config objects.
    Returns:
      an IDfTypedObject interface to the Docbase config object
    Throws:
      `DfException` - if a server error occurs

  - ### getServerConfig

    IDfTypedObject getServerConfig() throws DfException
    Returns a server config object for a repository session.

    This method returns the server config object for the server servicing the session. A server config object describes a Documentum server. It contains information the server uses to define its operation and operating environment, such as the number of allowed concurrent sessions, maximum cache sizes, and the locations of executables that the server calls. Refer to the Server Reference Manual for more information about server config objects.
    Returns:
      an IDfTypedObject interface to the server config object
    Throws:
      `DfException` - if a server error occurs

  - ### getSessionId

    String getSessionId() throws DfException
    Returns the DFC session ID of the session.

    Each DFC session has an unique session ID within a DFC client. You can use this session ID in `IDfClient.findSession(java.lang.String)` to obtain access to the session object.
    Returns:
      the DFC session ID of this session
    Throws:
      `DfException` - if this session has been disconnected

  - ### getLoginInfo

    IDfLoginInfo getLoginInfo() throws DfException
    Returns a copy of the login information used to establish this DFC session.

    For security purposes, the password is not returned as part of the login information.
    Returns:
      the login information used to establish this DFC session.
    Throws:
      `DfException` - if the session has been disconnected

  - ### getRelatedSession

    IDfSession getRelatedSession(String docbaseSpecString) throws DfException
    Returns a related session to a named docbase.

    A related session is one who's lifetime is tied to the parent session. You do not need to release a related session. The related session is automatically released when the parent session is released.
    Throws:
      `DfException`

  - ### getRelatedSession

    IDfSession getRelatedSession(IDfId objectId) throws DfException
    Returns a related session appropriate for operating on the given object id.

    A related session is one who's lifetime is tied to the parent session. You do not need to release a related session. The related session is automatically released when the parent session is released.
    Throws:
      `DfException`

  - ### getLoginUserName

    String getLoginUserName() throws DfException
    Returns the repository name of the current user.

    Users have three possible user names: a repository name, a OS name, and an RDBMs name. The repository name is the name by which the user is known in the repository. The repository name is usually the long form of the name and may not necessarily be the name entered into the login dialog. The name entered into the login dialog is usually the OS name.

    If you want to retrieve the user's OS name, call `getLoginInfo()` or retrieve the user object and examine the user_os_name attribute.

    For more information about user names, refer to Server Administrator's Guide.
    Returns:
      the name of the current user
    Throws:
      `DfException` - if a server error occurs

  - ### getDocbaseId

    String getDocbaseId() throws DfException
    Returns the ID of the repository defined as the default repository scope.

    The default repository scope is defined in the docbase_scope attribute in the session's session config object. The repository identified in that attribute is the repository in which default-scoped methods conduct their operations. (If a method takes no arguments, such as an object ID, that identify a repository, it is said to be default-scoped.)

    For more information about repository scoping and default-scoped methods, refer to Server Fundamentals.
    Returns:
      the repository ID
    Throws:
      `DfException` - if a server error occurs

  - ### getDocbaseName

    String getDocbaseName() throws DfException
    Returns the name of the repository identified as the default repository scope.

    The default repository scope is defined in the docbase_scope attribute in the session's session config object. The repository identified in that attribute is the repository in which default-scoped methods conduct their operations. (If a method takes no arguments, such as an object ID, that identify a repository, it is said to be default-scoped.) For more information about repository scoping and default-scoped methods, refer to Server Fundamentals.
    Returns:
      the repository name
    Throws:
      `DfException` - if a server error occurs

  - ### getServerVersion

    String getServerVersion() throws DfException
    Returns the version string of a Documentum server.

    The version number is the version of the server associated with the repository identified in the default repository scope.
    Returns:
      the version number of a Documentum server
    Throws:
      `DfException` - if a server error occurs

  - ### getDocbaseOwnerName

    String getDocbaseOwnerName() throws DfException
    Returns the name of the user who owns the repository identified as the default repository scope.

    The default repository scope is defined in the docbase_scope attribute in the session's session config object. The repository identified in that attribute is the repository in which default-scoped methods conduct their operations. (If a method takes no arguments, such as an object ID, that identify a repository, it is said to be default-scoped.)

    For more information about repository scoping and default-scoped methods, refer to Server Fundamentals.
    Returns:
      the name of the owner of the repository
    Throws:
      `DfException` - if a server error occurs

  - ### getDBMSName

    String getDBMSName() throws DfException
    Returns the name of the RDBMS that underlies the repository identified in the default repository scope.

    The default repository scope is defined in the docbase_scope attribute in the session's session config object. The repository identified in that attribute is the repository in which default-scoped methods conduct their operations. (If a method takes no arguments, such as an object ID, that identify a repository, it is said to be default-scoped.)

    For more information about repository scoping and default-scoped methods, refer to Server Fundamentals.
    Returns:
      the name of the RDBMS
    Throws:
      `DfException` - if a server error occurs

  - ### getSecurityMode

    String getSecurityMode() throws DfException
    Returns the security mode of the repository identified as the default repository scope.

    The default repository scope is defined in the docbase_scope attribute in the session's session config object. The repository identified in that attribute is the repository in which default-scoped methods conduct their operations. (If a method takes no arguments, such as an object ID, that identify a repository, it is said to be default-scoped.)

    For more information about repository scoping and default-scoped methods, refer to Server Fundamentals.
    Returns:
      the security mode of the repository
    Throws:
      `DfException` - if a server error occurs

  - ### getDefaultACL

    int getDefaultACL() throws DfException
    Identifies the default ACL for a Documentum server.

    The default ACL is the ACL that the server assigns to a new object if an ACL is not explicitly associated with the object. This method returns the default ACL defined for the server associated with the repository identified in the default repository scope. Refer to the Server Fundamentals for more information about ACLs and repository scope.
    Returns:
      an integer that identifies the default ACL for the Documentum server.

      Possible return values are:

           Integer   Identifing
           1         ACL associated with the object's primary folder
           2         ACL associated with the object's type
           3         ACL associated with the user who created the object

      The default return value is 3.
    Throws:
      `DfException` - if a server error occurs

  - ### isACLDocbase

    boolean isACLDocbase() throws DfException
    Indicates whether repository identified as the default repository scope is operating in ACL mode.

    The default repository scope is defined in the docbase_scope attribute in the session's session config object. The repository identified in that attribute is the repository in which default-scoped methods conduct their operations. (If a method takes no arguments, such as an object ID, that identify a repository, it is said to be default-scoped.)

    For more information about repository scoping and default-scoped methods, refer to Server Fundamentals.
    Returns:
      `true` if the repository is operating in ACL mode; `false` if it is operating in OGW mode.
    Throws:
      `DfException` - if a server error occurs

  - ### getObject

    IDfPersistentObject getObject(IDfId objectId) throws DfException
    Returns a Documentum server object.

    The following code example demonstrates how to obtain an IDfPersistentObject interface:

    >      IDfId idObj = new DfId("0900d5bb8001f900");
    >      IDfPersistentObject perObj = sess.getObject(idObj);
    >      if (perObj.getObjectId().getId().equals("0900d5bb8001f900"))
    >      {
    >           // Successfully fetched object...
    >      }

    *
    Parameters:
      `objectId` - an IDfId object that contains the object ID.
    Returns:
      an IDfPersistentObject interface to the object.
    Throws:
      `DfException` - if the persistent object specified with `objectID` doesn't exist, or a server error occurs.
    See Also:
      - `getObjectByQualification(java.lang.String)`
      - `getIdByQualification(java.lang.String)`

  - ### getObjectWithOptions

    IDfPersistentObject getObjectWithOptions(IDfId objectId, IDfGetObjectOptions objectOptions) throws DfException
    Returns a Documentum server object.

    The following code example demonstrates how to obtain an IDfPersistentObject interface:

    >      IDfId idObj = new DfId("0900d5bb8001f900");
    >      IDfGetObjectOptions objectOptions = clientx.getGetObjectOptions();
    >      //set object with partition, cachePersistently, currencyCheckValue value
    >      //by default, it's 0, fasle and null
    >      IDfPersistentObject perObj = sess.getObjectwithOptions(idObj,objectOptions);
    >      if (perObj.getObjectId().getId().equals("0900d5bb8001f900"))
    >      {
    >           // Successfully fetched object...
    >      }

    *
    Parameters:
      `objectId` - an IDfId object that contains the object ID.
      `objectOptions` - an IDfId object that contains the object ID.
    Returns:
      an IDfPersistentObject interface to the object.
    Throws:
      `DfException` - if the persistent object specified with `objectID` with options doesn't exist, or a server error occurs.
    See Also:
      - `getObjectByQualification(java.lang.String)`
      - `getIdByQualification(java.lang.String)`

  - ### newObject

    IDfPersistentObject newObject(String typeName) throws DfException
    Creates a persistent object given a specified Documentum server type.

    Even though the new object has an object id, the object is not committed to a repository until you call the `save` method.

    The following code example demonstrates how to create a dm_document object:

    >      IDfSysObject sysObj = (IDfSysObject)sess.newObject("dm_document");
    >      sysObj.setObjectName("testObject");
    >      sysObj.setSubject("DFC Example Doc");
    >      sysObj.setContentType("crtext");
    >      sysObj.setFile("c:\dfctest.txt");
    >      sysObj.link("/DFCTest");
    >      sysObj.save();

    Parameters:
      `typeName` - the object type of the new object, with underscores. For example, enter `dm_document` to create a document object.
    Returns:
      an IDfPersistentObject interface to the new object.
    Throws:
      `DfException` - if a server error occurs.

  - ### newLightObject

    IDfPersistentObject newLightObject(String typeName, IDfId parentId) throws DfException
    Creates a persistent light type object given a specified Documentum server shareable type.
    Parameters:
      `typeName` - name of a light type
      `parentId` - object Id of the shareable parent object instance
    Returns:
      an IDfPersistentObject interface to the new object.
    Throws:
      `DfException`

  - ### getObjectWithCaching

    IDfPersistentObject getObjectWithCaching(IDfId objectId, String typeNameIgnored, String classNameIgnored, String currencyCheckValue, boolean usePersistentCache, boolean useSharedCache) throws DfException
    Returns a Documentum server object.

    This form of getObject() includes additional parameters for specifying caching options such as consistency and sharing. If the target object is cached persistently then these options control use of the cache and how often data is refreshed from the server.

    The object is returned as an interface. The type of the interface depends on the parameter values you include in the method call. If you include `objType`, the method returns an IDfPersistentObject interface to the object. If you include `className` parameter, the method returns an object of the specified class. The class must derive from the IDfPersistentObject interface.
    Parameters:
      `objectId` - An IDfId object that contains the object's object ID
      `typeNameIgnored` - The type name is ignored. It is not needed.
      `classNameIgnored` - The class name is ignored. It violates TBO type safety and is no longer supported.
      `currencyCheckValue` - specifies that the object should be persistently cached and indicates how often the object needs to checked for consistency with the server. If the value is numeric it indicates the time (in seconds) which the caller is willing to allow the object to be used without being rechecked for consistency. If the requested object is found in the cache and has not been checked for consistency in the specified time period then it is checked and re-fetched from the server if necessary. If the value is non-numeric then it specifies a cache configuration object which defines the consistency check rules. Specify `null` if you don't want the object persistently cached.
      `usePersistentCache` - set to `true` if want the object the object cached persistently
      `useSharedCache` - Reserved for future use
    Returns:
      an IDfPersistentObject interface to the object
    Throws:
      `DfException` - if `objType` specifies an invalid object type, if `className` specifies a class that cannot be instantiated, or if a server error occurs
    Since:
      5.1
    See Also:
      - `getObject(com.documentum.fc.common.IDfId)`
      - `getObjectByQualification(java.lang.String)`
      - `getIdByQualification(java.lang.String)`

  - ### getIdByQualification

    IDfId getIdByQualification(String qualification) throws DfException
    Returns the ID of a Documentum object that satisfies the DQL qualification.

    Refer to the Server Reference Manual for more information about DQL.

    The following code example demonstrates how to obtain an IDfId interface to the specified object in the DQL query:

    >      IDfId idObj = sess.getIdByQualification("dm_document where r_object_id='0900d5bb8001f900'");
    >      if (idObj.getId().equals("0900d5bb8001f900"))
    >      {
    >           // Successfully fetched id...
    >      }

    Parameters:
      `qualification` - a DQL qualification consisting of that portion of a SELECT statement beginning with the keyword FROM. The DQL qualification uniquely identifies an object in a repository.
    Returns:
      an IDfId interface to the specified object. If no object matches `qualification`, the null IDfId is returned.
    Throws:
      `DfException` - if a server error occurs.
    See Also:
      - `getObject(com.documentum.fc.common.IDfId)`
      - `getObjectByQualification(java.lang.String)`

  - ### getObjectByQualification

    IDfPersistentObject getObjectByQualification(String qualification) throws DfException
    Returns a Documentum server object that satisfies the DQL qualification.

    Refer to the Server Reference Manual for more information about DQL.

    The following code example demonstrates how to obtain an IDfSysObject interface given a DQL query:

    >      IDfSysObject sysObj = (IDfSysObject)sess.getObjectByQualification("dm_document where r_object_id='0900d5bb8001f900' and object_name='testObject'");
    >      if (sysObj.getObjectName().equals("testObject"))
    >      {
    >           // Successfully fetched object...
    >      }

    Parameters:
      `qualification` - a DQL qualification consisting of that portion of a SELECT statement beginning with the keyword FROM. The DQL qualification uniquely identifies an object in a repository.
    Returns:
      an IDfPersistentObject or DFC-derived interface to the specified object. If no object matches `qualification`, the returned interface contains `null`.
    Throws:
      `DfException` - if a server error occurs.
    See Also:
      - `getObject(com.documentum.fc.common.IDfId)`
      - `getIdByQualification(java.lang.String)`

  - ### getObjectsByQuery

    IDfEnumeration getObjectsByQuery(String dql, String optionalTypeName) throws DfException
    Returns an enumeration of persistent objects using data obtained through a query.

    The query doesn't need to contain all the object attributes but there are a minimum subset of attributes that must be present. All queries must include r_object_id and i_vstamp attribute. The query must include r_object_type, r_aspect_name, i_is_replica and i_is_reference if the object has these attributes. The optionalTypeName is required if the object does not have the attribute r_object_type, eg: dm_user. When a query is done on dmi_queue_item, the attribute "source_docbase" must be included in the query.

    Note that the objects returned by this call may not be fully populated with data. Only data present in the query will exist in the returned objects. As long as your subsequent access to the objects only reference the populated data then no "fetch" of the full object will occur. As soon as you try to access object data that is not present then an internal "fetch" will be triggered to obtain the remaining data. This process is transparent to the object user.
    Returns:
      an interface to the persistent object instance
    Throws:
      `DfException`

  - ### getObjectByPath

    IDfPersistentObject getObjectByPath(String objectPath) throws DfException
    Returns a Documentum server object given a full path to the object.

    If multiple objects exist at the specified path, the server returns one of the objects at random.

    The following code example demonstrates how to obtain an IDfSysObject interface given an EDM Server path:

    >      IDfSysObject sysObj = (IDfSysObject)sess.getObjectByPath("/DFCTest/testObject");
    >      if (sysObj.getObjectName().equals("testObject"))
    >      {
    >           // Successfully fetched object...
    >      }

    Parameters:
      `objectPath` - the path to the object specified in the following format: /cabinet_name/folder_name/object_name.
    Returns:
      an IDfPersistentObject or DFC-derived interface to the object, `null` if the server cannot find an object at the specified path.
    Throws:
      `DfException` - if server error occurs.

  - ### getFolderByPath

    IDfFolder getFolderByPath(String folderPath) throws DfException
    Returns a folder object.

    Refer to the Server Reference Manual for more information about the folder object type.
    Parameters:
      `folderPath` - The path to the Folder object in the following format: /cabinet name/folder name/folder name. The last folder name in the path must be the folder you want to return.
    Returns:
      An IDfFolder interface to the folder object; `null` if the server cannot find the specified folder object.
    Throws:
      `DfException` - if a server error occurs

  - ### getFolderBySpecification

    IDfFolder getFolderBySpecification(String folderSpec) throws DfException
    Returns the folder matching the folder specification or null if the folder can not be found.

    The folder specification can either be a folder path or a folder object id.
    Parameters:
      `folderSpec` - a path or object id for a folder
    Returns:
      a folder
    Throws:
      `DfException` - if the folder can not be found or some other error occurs

  - ### newObjectWithType

    IDfPersistentObject newObjectWithType(String typeName, String classNameIgnored) throws DfException
    Deprecated.
    Creates a persistent object of the specified type and Java class name.

    Use this method to create objects based on a DFC-derived subclass of IDfPersistentObject. Even though the new object has an object id, the object is not committed to a repository until you call the `save` method.
    Parameters:
      `typeName` - the object type of the new object, with underscores. For example, enter `dm_document` to create a document object.
      `classNameIgnored` - The class name is ignored. It violates TBO type safety and is no longer supported.
    Returns:
      an IDfPersistentObject interface to the new object
    Throws:
      `DfException` - if a server error occurs
    See Also:
      - `newObject(java.lang.String)`

  - ### getObjectWithType

    IDfPersistentObject getObjectWithType(IDfId objectId, String typeNameIgnored, String classNameIgnored) throws DfException
    Deprecated.
    Returns a Documentum server object.

    The object is returned as an interface. The type of the interface depends on the parameter values you include in the method call. If you include `objType`, the method returns an IDfPersistentObject interface to the object. If you include `className` parameter, the method returns an object of the specified class. The class must derive from the IDfPersistentObject interface.
    Parameters:
      `objectId` - An IDfId object that contains the object's object ID
      `typeNameIgnored` - The type name is ignored. It is not needed.
      `classNameIgnored` - The class name is ignored. It violates TBO type safety and is no longer supported.
    Returns:
      an IDfPersistentObject interface to the object
    Throws:
      `DfException` - if `objType` specifies an invalid object type, if `className` specifies a class that cannot be instantiated, or if a server error occurs
    See Also:
      - `getObject(com.documentum.fc.common.IDfId)`

  - ### getObjectWithInterface

    IDfPersistentObject getObjectWithInterface(IDfId objectId, String extraInterfaceName) throws DfException, DfServiceNotFoundException, DfDborNotFoundException
    Deprecated.
    Please use Aspects instead for interface extension. They provide similar functionality but are safer and more robust.
    Returns a Documentum server object with an extra interface added to the interfaces supported by the object. The implementation for the extra interface is looked up using the DBOR (Documentum business object registry).
    Parameters:
      `objectId` - An IDfId object that contains the object's object ID
      `extraInterfaceName` - The fully qualified name of an interface configured in DBOR
    Returns:
      an IDfPersistentObject interface to the object
    Throws:
      `DfException` - if `objType` specifies an invalid object type, or if a server error occurs
      `DfServiceNotFoundException` - if `interfaceName` is not configured in DBOR
      `DfDborNotFoundException` - if DBOR is not found

  - ### getObjectByQualificationWithInterface

    IDfPersistentObject getObjectByQualificationWithInterface(String qualification, String interfaceName) throws DfException, DfServiceNotFoundException
    Deprecated.
    Please use Aspects instead for interface extension. They provide similar functionality but are safer and more robust.
    Get a type based business object (Business Logic Middleware) with a given interface. In this case a DQL qualification is used to lookup the object ID for which the object is instantated. Same behaviour as #getObjectWithInterface and #getObjectByQualification combined.
    Parameters:
      `qualification` - a DQL qualification consisting of that portion of a SELECT statement beginning with the keyword FROM. The DQL qualification uniquely identifies an object in a repository.
      `interfaceName` - The fully qualified name of an interface configured in DBOR
    Returns:
      an IDfPersistentObject interface to the object
    Throws:
      `DfException` - if `objType` specifies an invalid object type, or if a server error occurs
      `DfServiceNotFoundException` - if `interfaceName` is not configured in DBOR
      `DfDborNotFoundException` - if DBOR is not found
    See Also:
      - `getObjectByQualification(java.lang.String)`

  - ### getReplicaForMaster

    IDfPersistentObject getReplicaForMaster(IDfId masterId) throws DfException
    Get the replica object for a specific master object.
    Parameters:
      `masterId` - the id of the master object.
    Throws:
      `DfException`

  - ### flush

    void flush(String flushType, String cacheKey) throws DfException
    Removes cached queries from the client's query caches, ACLs and Group objects from the session cache, and type information from the data dictionary cache.

    Use this method when you want to remove your query cache files or when you want to make additional memory available to your server. When you create large numbers of objects in one session, you may receive an error from the server indicating that it is out of memory. One possible cause for this problem is that ACLs and group objects have been over-cached, causing the session cache to become too large. To resolve this, run the `flush` method to empty the session cache.

    Refer to the Server Administrator's Guide for more information about removing content from local areas.
    Parameters:
      `flushType` - Identifies the cache that you want to flush. Valid values and their meanings are:

           Value                  Meaning
           querycache             User's query cache
           aclcache               ACLs in the session cache
           groupcache             Group objects in the session cache
           ddcache                Data dictionary cache
           registrycache          Registry cache
           persistentcache        Persistent cache
           persistentobjcache     Persistent object cache

      `cacheKey` - The name of an object type. Use this optional parameter only if ddcache is passed to `flushtype`. Note that all data dictionary information for the specified type and all of its subtypes is flushed. If no argument is passed to this parameter, information for all object types in the data dictionary is flushed.
    Throws:
      `DfException` - if server error occurs

  - ### flushEx

    void flushEx(String flushType, String cacheKey, boolean resetChangeBit, boolean includeSubtypes) throws DfException
    Removes cached queries from the client's query caches, ACLs and Group objects from the session cache, and type information from the data dictionary cache.

    Use this method when you want to remove your query cache files or when you want to make additional memory available to your server. When you create large numbers of objects in one session, you may receive an error from the server indicating that it is out of memory. One possible cause for this problem is that ACLs and group objects have been over-cached, causing the session cache to become too large. To resolve this, run the `flush` method to empty the session cache.

    Refer to the Server Administrator's Guide for more information about removing content from local areas.
    Parameters:
      `flushType` - Identifies the cache that you want to flush. Valid values and their meanings are:

           Value                  Meaning
           querycache             User's query cache
           aclcache               ACLs in the session cache
           groupcache             Group objects in the session cache
           ddcache                Data dictionary cache
           registrycache          Registry cache
           persistentcache        Persistent cache
           persistentobjectcache  Persistent object cache

      `cacheKey` - The name of an object type. Use this optional parameter only if ddcache is passed to `flushtype`. Note that all data dictionary information for the specified type and all of its subtypes is flushed. If no argument is passed to this parameter, information for all object types in the data dictionary is flushed.
      `resetChangeBit` - Directs the Repository Server to reset the change bit in the registry cache to false for all cache entries that are marked true when the cache is flushed. Use this only when the registry cache is the target of the operation. The default is false.
      `includeSubtypes` - Whether you want to flush registry objects that reference subtypes of the object type identified by cacheKey. The default is false, meaning not to flush objects referencing subtypes. Use this only when the registry cache is the target of the operation.
    Throws:
      `DfException` - if server error occurs

  - ### flushCache

    void flushCache(boolean discardChanged) throws DfException
    Removes objects from the server and client caches.
    Parameters:
      `discardChanged` - `true` if you want to discard objects that have been changed but not saved; `false` if not.
    Throws:
      `DfException` - if a server error occurs

  - ### flushGlobalCache

    void flushGlobalCache(String cacheName) throws DfException
    Removes objects from a global server cache.
    Parameters:
      `cacheName` - The name of the server global cache to flush
    Throws:
      `DfException` - if a server error occurs

  - ### getACL

    IDfACL getACL(String aclDomain, String aclName) throws DfException
    Returns an ACL object.

    Refer to the Server Reference Manual for more information about the ACL object type.
    Parameters:
      `aclDomain` - the ACL domain. The domain is the owner of the ACL.
      `aclName` - the name of the ACL
    Returns:
      an IDfACL interface to the ACL object; `null` if the server cannot find the specified ACL object.
    Throws:
      `DfException` - if a server error occurs

  - ### getFormat

    IDfFormat getFormat(String formatName) throws DfException
    Returns a format object that contains information about the format.

    This method takes the format's name and returns the dm_format object that defines the format in the repository.

    Refer to the Server Reference Manual for more information about the format object type.
    Parameters:
      `formatName` - the name of the format object
    Returns:
      an IDfFormat interface to the format object; `null` if the server cannot find the specified format object.
    Throws:
      `DfException` - if server error occurs

  - ### getType

    IDfType getType(String typeName) throws DfException
    Returns a Documentum server type object. Type objects contain information about Documentum server object types. Each instance of a type object contains information about one object type. The following code example demonstrates how to obtain an IDfType interface and loop through all the attributes of the type:

    >      IDfType typeObj = sess.getType("dm_document");
    >      for (int i = 0; i < typeObj.getAttrCount(); i++)
    >      {
    >           IDfAttr attrObj = typeObj.getAttr(i);
    >           System.out.println("Attribute Name: " + attrObj.getName());
    >      }

    Parameters:
      `typeName` - the name of the object type whose corresponding type object you want to return.
    Returns:
      an IDfType interface to the type object, `null` if the server cannot find the type object.
    Throws:
      `DfException` - if server error occurs.

  - ### getTypeDescription

    IDfTypedObject getTypeDescription(String typeName, String attribute, IDfId policyId, String state) throws DfException
    Returns the data dictionary information about an object type and its attributes.

    The information returned by this method includes information stored in the data dictionary. Such information may vary for each state of a business policy. Pass parameters to `businesspolicyId` and `state` if you want state-specific data information for an object type and its attributes. Refer to Server Fundamentals for more information about about the Data Dictionary.
    Parameters:
      `typeName` - The object type.
      `attribute` - An attribute of the object type. This parameter is optional. If you include it, the method returns information about the attribute but does not include the type information.
      `policyId` - The business policy's object ID. This parameter is optional. If you pass an argument to this parameter, you must also pass an argument to `state`.
      `state` - The name of one of the business policy states. This parameter is optional. If you pass an argument to this parameter, you must also pass an argument to `businessPolicyId`.
    Returns:
      An IDfTypedObject interface to the information about the object type or attribute
    Throws:
      `DfException` - if a server error occurs

  - ### getGroup

    IDfGroup getGroup(String groupName) throws DfException
    Returns a group object that contains information about the repository group.

    This method takes the group's name as a parameter and returns the dm_group object that defines the group in the repository.

    Refer to the Server Reference Manual for information about the group object type.
    Parameters:
      `groupName` - the name of the group object
    Returns:
      an IDfGroup interface to the group object; `null` if the server cannot find the specified group object.
    Throws:
      `DfException` - if server error occurs

  - ### getUser

    IDfUser getUser(String userName) throws DfException
    Returns a user object that contains information about the repository user. This method takes the user's repository name as a parameter and returns the dm_user object for that user.
    Parameters:
      `userName` - Set this to the user's repository name. If `null` or empty string is passed, the parameter defaults to the current logged-in user.
    Returns:
      an IDfUser interface to the User object; `null` if the server cannot find the User object.
    Throws:
      `DfException` - if server error occurs
    See Also:
      - `getUserByOSName(java.lang.String, java.lang.String)`

  - ### getUserByOSName

    IDfUser getUserByOSName(String userOSName, String userOSDomain) throws DfException
    Returns a user object that contains information about the repository user.

    This method takes the user's OS name and domain as parameters and returns the dm_user object for that user.
    Parameters:
      `userOSName` - the operating system's user name for the user
      `userOSDomain` - the Windows NT domain name associated with the user; Pass `null` to this parameter if the user, such as a user on a UNIX system, has no Windows NT domain name.
    Returns:
      an IDfUser interface to the user object; Returns `null` if the server cannot find the specified user.
    Throws:
      `DfException` - if server error occurs
    See Also:
      - `getUser(java.lang.String)`

  - ### getUserByLoginName

    IDfUser getUserByLoginName(String userLoginName, String userLoginDomain) throws DfException
    Returns a user object that contains information about the repository user.

    This method takes the user's login name and login domain as parameters and returns the dm_user object for that user.
    Parameters:
      `userLoginName` - the user's login name for the user
      `userLoginDomain` - Name of the Windows domain against which this user is authenticated. If the user is an LDAP user, the attribute stores the name of the LDAP directory against which the user is authenticated. Pass `null` to this parameter if the user has no login domain name.
    Returns:
      an IDfUser interface to the user object; Returns `null` if the server cannot find the specified user.
    Throws:
      `DfException` - if server error occurs
    See Also:
      - `getUser(java.lang.String)`

  - ### getLoginTicket

    String getLoginTicket() throws DfException
    Returns a new ticket based on the current session login information. An application can use this ticket to establish another session with the same server.

    Tickets are used for ticketed logins, which allow a Documentum application to open an additional session with the current repository without specifying the user's password. Refer to the Server Fundamentals for more information about ticketed logins.
    Returns:
      a ticket
    Throws:
      `DfException` - if a server error occurs

  - ### getLoginTicketEx

    String getLoginTicketEx(String userLoginName, String scope, int timeout, boolean singleUse, String serverName) throws DfException
    Returns a new ticket based on the current session login information. An application can use this ticket to establish another session with the same server.

    Tickets are used for ticketed logins, which allow a Documentum application to open an additional session with the current repository without specifying the user's password. Refer to the Server Fundamentals for more information about ticketed logins.
    Parameters:
      `userLoginName` - - the user login name (dm_user object's attribute "user_login_name" value) for whom the login ticket is desired.
      `scope` - - the scope of the acquired login ticket. It can be "server", "docbase", or "global".
      `timeout` - - How long will acquired login ticket remain valid since generation. Its value is expressed in minutes. Docbase config, max_login_ticket_timeout attribute value is used, if the specified time is larger than it. if unspecified, docbase config, login_ticket_timeout attribute value is used.
      `singleUse` - - if the login ticket can be used once only or multiple times
      `serverName` - - When single_use is true, the acquired one-time login ticket will be valid in the specified server only.
    Returns:
      a login ticket
    Throws:
      `DfException`
    Since:
      5.3

  - ### getLoginTicketForUser

    String getLoginTicketForUser(String userName) throws DfException
    Returns a ticket for a specific user. An application can use this ticket to establish a new session for that user.

    Note that only a repository superuser can obtain a ticket for another user.
    Parameters:
      `userName` - the user for which the login ticket is desired.
    Returns:
      a login ticket
    Throws:
      `DfException`
    Since:
      5.1

  - ### getAliasSet

    String getAliasSet() throws DfException
    Returns the alias set name of this session config object.
    Returns:
      a String of the attribute alias_set of dm_session_config object
    Throws:
      `DfException` - if server error occurs
    See Also:
      - `setAliasSet(java.lang.String)`

  - ### setAliasSet

    void setAliasSet(String name) throws DfException
    Sets the alias_set attribute of this session_config.
    Parameters:
      `name` - The alias set object name that is setting to the session config
    Throws:
      `DfException` - if server error occurs
    See Also:
      - `getAliasSet()`

  - ### resolveAlias

    String resolveAlias(IDfId sysObject, String scopeAlias) throws DfException
    Returns the value mapped to a given alias.

    Aliases are placeholders for user names, group names, object names, and folder paths. They can be used in several types of objects and in the Link and Unlink server API methods. Alias values are stored in alias set objects. Alias scopes are defined for business policies, sessions, users, and servers. Each scope level can have an associated alias set. To resolve an alias, the system searches the alias sets in the scopes in a pre-defined order. The search stops when a match is found. If you include the `sysObject` parameter, the scopes are searched in the following order to resolve the alias:
    - business policy scope - The system searches the alias set defined as the default scope for the business policy with which the object is associated.
    - session scope - The system searches the alias set defined as the default session scope.
    - user scope - The system searches the alias set defined as the default for the user issuing the method.
    - server scope - The system searches the alias set defined as the default in the server config object.
    If you don't include the `sysObject` parameter, the system starts the search at the session scope and continues through the user and server scopes if needed. If you include an alias set name in the `scopeAlias` parameter, the method ignores the scopes and searches only the specified alias set to resolve the alias.
    Parameters:
      `sysObject` - an IDfId interface to a sysobject. If you include this, the method includes the business policy scope in the search to resolve the alias. If you specify `null`, the method ignores the business policy scope.
      `scopeAlias` - The alias you want to resolve. Use the following format:
      `%[alias_set_name.]alias_name`, where `alias_set_name` is the name of the alias set that contains the alias and `alias_name` identifies the alias you want to resolve. The `alias_set_name` is optional. If you include this, the method ignores the scopes and only searches the specified alias set.
    Returns:
      The value mapped to the alias
    Throws:
      `DfException` - if a server error occurs

  - ### getMessage

    String getMessage(int severityLevel) throws DfException
    Returns all messages from an established session at or above a specified severity level.

    This method is intended for the following situations:

    - To clear the DMCL's error stack in an adopted DMCL session
    - To retrieve information and warning messages, severity levels 1 and 2, for DFC sessions

    Note that DFC automatically calls `getMessage` for error and fatal error messages, severity levels 3 and 4, that occur during a call to a DFC method and puts the message in the thrown exception.

    Parameters:
      `severityLevel` - the minimum severity level of the session message that you want to get. Valid values and their corresponding severity levels are:

           Value   Retrieves
           1       Information messages
           2       Warning messages
           3       Error messages
           4       Fatal error messages

    Returns:
      the messages at or above the specified severity level. The messages are returned as a formatted string with separating line feeds.
    Throws:
      `DfException` - if a server error occurs

  - ### getLastCollection

    IDfCollection getLastCollection() throws DfException
    Returns the collection object for the most recently executed query.
    Returns:
      an IDfCollection interface to the results of the most recently executed query
    Throws:
      `DfException` - if a server error occurs

  - ### setBatchHint

    void setBatchHint(int batchSize) throws DfException
    Sets the maximum number of rows returned to the server for each call to the underlying RDBMS.

    Refer to the Server Administrator's Guide for more information about batch size.
    Parameters:
      `batchSize` - the maximum rows returned to the server for each call to the underlying RDBMS
    Throws:
      `DfException` - if a server error occurs

  - ### apply

    IDfCollection apply(String objId, String functionName, IDfList args, IDfList dataType, IDfList values) throws DfException
    Calls the server API Apply method. Refer to the Server Reference Manual for more information about the Apply server API.

    Note that the caller is responsible for properly formatting the strings passed in the three IDfList arguments and escaping any special charcters contained within them. One function where this is particularly important is DO_METHOD, especially if the corresponding dm_method is configured to be invoked via a shell command. (Refer to the Content Server Administrator's Guide for more information about server methods.) The caller must escape not only those characters as required by the server API, but also those characters which the corresponding shell treats specially. The particular shell requirements depend on the OS on which the repository is running.

    By way of example, suppose that you wanted to invoke the dm_method named "MyMethod", that you wanted to save the results in a repository object, and that you wanted to pass it the following arguments:
    1. a.b.c
    2. O'Reilly
    3. A multiword arg
    4. an,arg,with,commas
    5. He said "I'm here"
    6. \
    7. \"

    If the repository was installed on a UNIX machine, the contents of the three IDfList arguments would be as follows:

    Index | args | dataType | values
    --- | --- | --- | ---
    0 | `METHOD` | `S` | `MyMethod`
    1 | `SAVE_RESULTS` | `B` | `T`
    2 | `ARGUMENTS` | `S` | `'a.b.c O''Reilly "A multiword arg" An,arg,with,commas "He said \"I''m here\"" \\ \\\"'`

    Notice that the entire string value for ARGUMENTS is wrapped in a pair of single quotes and all internal occurrences of single quotes (O'Reilly and I'm) are escaped by preceding the single quote with another single quote. This is required by the server API. Simple values need not be wrapped in single quotes, but it is absolutely necessary if those values may contain commas. Both UNIX and Windows shells use double quotes to group arguments. To pass a literal double quote, the shell (not the server API) requires that it be escaped with a backslash. If the method was invoked on a repository installed on Microsoft Windows, the sixth argument would change from `\\` to `\`, but the seventh argument would remain unchanged. This reflects the escaping rules of the Windows shell, not any rules specific to the server API.
    Parameters:
      `objId` - The object ID of the object on which you are performing the procedure. The `objId` is `null` in some cases; for example, if you are specifying a name in `args`. Refer to the Server Reference Manual for syntax details for any particular function.
      `functionName` - The operation that you want to perform. Valid function names for user applications are listed in the DQL Reference Manual. EMC Documentum applications may use any apply method call, internal or external.
      `args` - an IDfList interface to valid arguments for the function specified with `functionName`. Refer to the DQL Reference Manual for more information about valid arguments.
      `dataType` - an IDfList interface to the datatypes of the arguments specified with `args`
      `values` - an IDfList interface to the values assigned to the arguments specified with `args`.
    Returns:
      an IDfCollection interface to the results of the specified function
    Throws:
      `DfException` - if a server error occurs

  - ### describe

    String describe(String type, String objType) throws DfException
    Describes the attributes of a type or registered table.

    Parameters:
      `type` - identifies whether you want attribute information about a type or a table; Valid `type` values are TYPE and TABLE.
      `objType` - the object type or table name. If you specified TYPE with `type`, then specify a Documentum object type, with underscores. For example, enter dm_document if you want attribute information for the document object type. If you specified TABLE with `type`, then specify the name of a table in the underlying RDBMS.
    Returns:
      the attributes and corresponding datatypes for the specified type or table
    Throws:
      `DfException` - if a server error occurs

  - ### archive

    IDfId archive(String predicate, String operatorName, int priority, boolean sendMail, IDfTime dueDate) throws DfException
    Queues an archive request to the repository operator.

    The operator is the person responsible for archiving the requested files. Documentum provides a utility, dmarchive, for this purpose. When the operator receives the archive request, dmarchive can be executed to move the requested file from its storage area to a designated archive area. If you do not specify an operator, the event is queued to the default operator, who is the user specified in the operator_name attribute of the server's server config object.

    Refer to Server Fundamentals for more information about archiving and restoring content files.
    Parameters:
      `predicate` - the object or objects that you want to archive. A valid predicate has the following format: type_name WHERE qualification. type_name must be a dm_sysobject or a subtype of dm_sysobject, and qualification must be a valid WHERE clause qualification.
      `operatorName` - the Documentum user who receives the archive request
      `priority` - the priority level of the archive request
      `sendMail` - `true` if you want the server to send an email notification about the archive request to the user specified with `operatorName`; `false` if not
      `dueDate` - an IDfTime interface to the date that the archive request should be completed
    Returns:
      an IDfId interface to dmi_queue_item, the object ID of the last item queued for archiving; To access the IDs of all the objects queued for archiving, run a query against the dm_queue view.
    Throws:
      `DfException` - if a server error occurs

  - ### restore

    IDfId restore(String predicate, String dumpFile, String operatorName, int priority, boolean sendMail, IDfTime dueDate) throws DfException
    Queues a request to restore a content file or files from the archives.

    This method queues a DM_RESTORE event containing `predicate` to the inbox of the repository operator. The operator is responsible for running the dmarchive utility to restore the requested file or files.

    Generally, it is not necessary to specify a dump file with the `dumpfile` parameter. When you archive an object, the system sets the set_file attribute of the associated content object to the full path of the dump file. When you perform a restore, dmarchive reads the set_file attribute to determine which dump file it should scan for the requested object. Refer to Server Fundamentals for more information about archiving and restoring content files.
    Parameters:
      `predicate` - the object or objects that you want to restore
      `dumpFile` - the dump file containing the archived file. Specify a value only if you do not want dmarchive to search the dump file at the location specified in the set_file attribute
      `operatorName` - the repository operator. If you do not specify an operator, the event is queued to the default operator, the user specified in the operator_name attribute of the server's server config object.
      `priority` - the priority level of the restore request
      `sendMail` - `true` if you want the server to send an email notification to the specified operator; `false` if not
      `dueDate` - an IDfTime interface to the date that the restore request should be completed
    Returns:
      an IDfId interface to dmi_queue_item, the object ID of the last item queued for restoration. To access the IDs of all the objects queued for restoration, run a query against the dm_queue view.
    Throws:
      `DfException` - if a server error occurs

  - ### changePassword

    void changePassword(String oldPasswd, String newPasswd) throws DfException
    Changes a password.
    Parameters:
      `oldPasswd` - the old password
      `newPasswd` - the new password
    Throws:
      `DfException` - if a server error occurs

  - ### purgeLocalFiles

    void purgeLocalFiles() throws DfException
    Removes all files that have been copied into the local area during the current session.

    The server does not automatically clean up a local area when a session is terminated. Instead, use this method to clean it up. If `purgeLocalFiles` encounters a file that it cannot delete, it does not stop but instead continues deleting those files that it can delete.
    Throws:
      `DfException` - if a server error occurs

  - ### reInit

    void reInit(String serverConfigName) throws DfException
    Reinitializes a server's root and spawned processes.

    Use this method when changing the server configuration for both root and spawned processes. After you edit the server's server config object, call `reInit` to make the changes take affect. You must have sysadmin or superuser privileges to call this method.

    Refer to the Server Administrator's Guide for more information about reinitializing servers.
    Parameters:
      `serverConfigName` - the server config object
    Throws:
      `DfException` - if a server error occurs

  - ### reInitEx

    void reInitEx(String serverConfigName, boolean sendToDocBroker) throws DfException
    Reinitializes a server's root and spawned processes.

    Use this method when changing the server configuration for both root and spawned processes. After you edit the server's server config object, call `reInit` to make the changes take affect. You must have sysadmin or superuser privileges to call this method.

    Refer to the Server Administrator's Guide for more information about reinitializing servers.
    Parameters:
      `serverConfigName` - the server config object
      `sendToDocBroker` - indicates whether server should send a checkpoint to the connection broker
    Throws:
      `DfException` - if a server error occurs

  - ### reStart

    void reStart(String serverConfigName, boolean restartClient) throws DfException
    Reinitializes a server's spawned process to which the current session is connected.

    Use this method when changing the server configuration for the current session or when you want to change the client's cache size or the location of the client's local area. You must have sysadmin or superuser privileges to call this method.

    (Use the `reInit` method to reinitialize the root server process.)
    Parameters:
      `serverConfigName` - the server config object
      `restartClient` - `true` if you want to change only the client portion of a session's configuration; `false` if not.
    Throws:
      `DfException` - if a server error occurs

  - ### shutdown

    void shutdown(boolean immediate, boolean deleteEntry) throws DfException
    Shuts down a server.
    Parameters:
      `immediate` - `true` if you want the server to shut down immediately, without waiting for open transactions to finish; `false` if you want the server to wait for open transactions to finish before shutting down. The default value is `false`.
      `deleteEntry` - `true` if you want the DocBroker to delete its entry for the server you are shutting down; `false` if not. The default value is `false`.
    Throws:
      `DfException` - if a server error occurs

  - ### dequeue

    void dequeue(IDfId stampId) throws DfException
    Removes items from an inbox that were placed there using the `queue` method.

    Parameters:
      `stampId` - the object ID of the dmi_queue_item object associated with the item that you want to remove from the queue. Call `getEvents` to obtain this ID.
    Throws:
      `DfException` - if a server error occurs

  - ### dequeueAll

    void dequeueAll() throws DfException
    Removes all items from an inbox that were placed there using the `queue` method.
    Throws:
      `DfException` - if a server error occurs

  - ### hasEvents

    boolean hasEvents() throws DfException
    Indicates whether a user's inbox contains unread items.

    Call `getEvents` to retrieve a user's unread items.
    Returns:
      `true` if a user's inbox contains unread items; `false` if not
    Throws:
      `DfException` - if a server error occurs

  - ### getEvents

    IDfCollection getEvents() throws DfException
    Returns all unread items in a user's inbox.

    Each item in an inbox is stored in an object of type dmi_queue_item. This method returns an identifier to a collection of all dmi_queue_item objects for the user that have not been read. An item is "unread" if its read_flag value has a value of 0. Refer to Server Fundamentals for more information about inboxes and queued items.
    Returns:
      an IDfCollection interface to the unread items
    Throws:
      `DfException` - if a server error occurs

  - ### getTasks

    IDfCollection getTasks(String userName, int filter, String additionalAttributes, String orderBy) throws DfException
    Retrieves the work items assigned to the specified user.
    Parameters:
      `userName` - the user whose tasks you want to retrieve
      `filter` - can be: `DF_TASKS` or 1 to retrieve only tasks, `DF_NOTIFICATIONS` or 2 to retrieve only notifications, `DF_TASKS_AND_NOTIFICATIONS` or 3 to retrieve both tasks and notifications.
      `additionalAttributes` - the DQL query specifying the additional task attributes that you would like retrieved
      `orderBy` - the task attribute used to order the retrieved tasks
    Returns:
      an IDfCollection interface containing the following attributes of the user's queue items: sent_by, date_sent, task_name, due_date, priority, task_state, r_object_id, item_id, plus any additional attributes that you specified with `additionalAttributes`.
    Throws:
      `DfException` - if the query failed

  - ### getTasksEx

    IDfCollection getTasksEx(String userName, int filter, IDfList orderByList, IDfList ascendingList) throws DfException
    Retrieves the work items assigned to the specified user. This method is available to Documentum server version 5.0 or above.
    Parameters:
      `userName` - the user whose tasks you want to retrieve.
      `filter` - any combination of: `DF_NOTIFICATIONS`, `DF_WORKFLOW_TASKS`, `DF_ROUTER_TASKS`, or `DF_COMPLETED_ROUTER_TASKS`. These categories should be bitwise OR'ed together when you need to retrieve the tasks of multiple categories.

      Other filters used for getTasks `DF_TASKS` and `DF_TASKS_AND_NOTIFICATIONS` are also supported in this function. If `DF_TASKS` is used, it is treated as `DF_WORKFLOW_TASKS`|`DF_ROUTER_TASKS`. If `DF_TASKS_AND_NOTIFICATIONS` is used, all kinds of items will be returned.

      `orderByList` - an `IDfList` of the task attributes that are used to order the retrieved tasks.
      `ascendingList` - an `IDfList` of Boolean values to specify whether the corresponding order by attribute should be sorted in ascending or descending order. Specify `true` for ascending order; `false` for descending order.
    Returns:
      an IDfCollection interface containing all attributes of the user's queue item and pkg_object_id, pkg_object_name, pkg_object_type, pkg_content_type, pkg_application_type, pkg_link_cnt, pkg_lock_owner, and pkg_is_virtual_doc queried from the corresponding attribute of the routing document.
    Throws:
      `DfException` - if the query failed.
    Since:
      5.1

  - ### sendToDistributionList

    IDfId sendToDistributionList(IDfList toUsers, IDfList toGroups, String instructions, IDfList objectIDs, int priority, boolean endNotification) throws DfException
    Deprecated.
    As of DFC 5.2, replaced by `sendToDistributionListEx(com.documentum.fc.common.IDfList, com.documentum.fc.common.IDfList, java.lang.String, com.documentum.fc.common.IDfList, int, int)`
    Creates and starts a custom workflow.

    Use this method when you want to create and start a workflow that is not based on a pre-defined workflow template. Refer to the Server Fundamentals for more information about workflows.

    The following code example demonstrates how to route an object to a user and a group:

    >      IDfList userList = new DfList();
    >      IDfList groupList = new DfList();
    >      IDfList objList = new DfList();
    >      userList.appendString("joeuser");
    >      groupList.appendString("EngineeringGroup");
    >      objList.append(new DfId("0900d5bb8001f900"));
    >      IDfId wfId = sess.sendToDistributionList(userList,groupList,"Please review",objList,5,false);

    Parameters:
      `toUsers` - an IDfList interface to the users that are assigned workflow tasks.
      `toGroups` - an IDfList interface to the groups that are assigned workflow tasks.
      `instructions` - task instructions for the recipients of workflow tasks.
      `objectIDs` - an IDfList interface to the documents you want to distribute. You may only distribute persistent objects in a workflow.
      `priority` - An integer value corresponding to the priority level. The following list explains the priority level corresponding to all permissible values:

           Integer    Priority Level
           1          Low
           5          Medium
           10         High

      `endNotification` - defines whether a notification is sent to the sender of the distribution list when all the recipients have finished their assigned task.
    Returns:
      an IDfId interface to the custom workflow.
    Throws:
      `DfException` - if the server fails to create the custom workflow.

  - ### sendToDistributionListEx

    IDfId sendToDistributionListEx(IDfList toUsers, IDfList toGroups, String instructions, IDfList objectIDs, int priority, int flags) throws DfException
    Creates and starts an ad-hoc workflow.

    Use this method when you want to create and start a workflow that is not based on a workflow template. Refer to the Server Fundamentals for more information about workflows.

    The following code example demonstrates how to route an object to a user and a group:

    >      IDfList userList = new DfList();
    >      IDfList groupList = new DfList();
    >      IDfList objList = new DfList();
    >      userList.appendString("joeuser");
    >      groupList.appendString("EngineeringGroup");
    >      objList.append(new DfId("0900d5bb8001f900"));
    >      int flags = DF_REQ_SIGN_OFF | DF_REQ_END_NOTIFICATION;
    >      IDfId wfId = sess.sendToDistributionListEx(userList,groupList,"Please review",objList,5,flags);

    Parameters:
      `toUsers` - an IDfList interface to the users that are assigned workflow tasks.
      `toGroups` - an IDfList interface to the groups that are assigned workflow tasks.
      `instructions` - task instructions for the recipients of workflow tasks.
      `objectIDs` - an IDfList interface to the documents you want to the specified users and groups. You may only distribute persistent objects in a workflow.
      `priority` - An integer value corresponding to the priority level. The following list maps the valid values to their corresponding priority levels:

           Integer    Priority Level
           1          Low
           5          Medium
           10         High

      `flags` - Flags can be any combination of these options `IDfWorkflow.DF_REQ_END_NOTIFICATION`, `IDfWorkflow.DF_REQ_SIGN_OFF`, `IDfWorkflow.DF_SEQUENTIAL`, `IDfWorkflow.DF_ALLOW_REJECT_PREVIOUS`, and `IDfWorkflow.DF_ALLOW_REJECT_INITIATOR` bitwise OR'ed together.
    Returns:
      an IDfId interface to the ad-hoc workflow.
    Throws:
      `DfException` - if the server fails to create the ad-hoc workflow.
    Since:
      5.1
    See Also:
      - `IDfWorkflow.DF_REQ_END_NOTIFICATION`
      - `IDfWorkflow.DF_REQ_SIGN_OFF`
      - `IDfWorkflow.DF_SEQUENTIAL`
      - `IDfWorkflow.DF_ALLOW_REJECT_PREVIOUS`
      - `IDfWorkflow.DF_ALLOW_REJECT_INITIATOR`

  - ### getRunnableProcesses

    IDfCollection getRunnableProcesses(String additionalAttributes) throws DfException
    Returns a collection that contains the object ID and attribute values of all installed dm_process objects in a repository.

    Documentum uses dm_process objects to store workflow definitions in a repository. After a workflow is defined in a process object, the object must be validated and installed before it is usable. Refer to Server Fundamentals for more information about workflows.
    Parameters:
      `additionalAttributes` - The additional attributes of the workflows that you want to retrieve.
    Returns:
      An IDfCollection interface to the object name, object ID, and user-specified additional attributes of all installed workflow definitions in the repository
    Throws:
      `DfException` - if the query failed

  - ### newWorkflowBuilder

    IDfWorkflowBuilder newWorkflowBuilder(IDfId processId) throws DfException
    Creates a workflow builder object.

    Workflow builder objects convert process objects into workflow objects. Refer to Customizing Documentum Clients for more information about workflow builder objects.
    Parameters:
      `processId` - the ID of the process object you want to attach to the workflow builder object. The process object contains the workflow definition that the workflow builder object uses to create a workflow object.
    Returns:
      an IDfWorkflowBuilder interface to the new workflow object
    Throws:
      `DfException` - if a server error occurs

  - ### getVersionTreeLabels

    IDfVersionTreeLabels getVersionTreeLabels(IDfId chronicleId) throws DfException
    Returns the version labels associated with the versions of a SysObject.

    SysObjects can be versioned and each version can have one or more version labels. Use this method to obtain a list of the version labels associated with an object, across all versions.

    For more information about version labels, refer to Server Fundamentals.
    Parameters:
      `chronicleId` - the object ID of the first version of the object
    Returns:
      an IDfVersionTreeLabels object that contains a list of the version labels
    Throws:
      `DfException` - if a server error occurs

  - ### getRelationType

    IDfRelationType getRelationType(String relationName) throws DfException
    Returns a relation type object that contains information about a kind of relationship.

    A relation type object defines a kind of relationship that can exist between two objects in a repository. This method takes the name of a kind of relationship as a parameter and returns the dm_relation_type object that defines the reletionship in the repository.

    Refer to the EMC Documentum Object Reference Manual or Server Fundamentals for more information about relation type objects.
    Parameters:
      `relationName` - the name of the relation type object
    Returns:
      an IDfRelationType interface to the relation type object
    Throws:
      `DfException` - if a server error occurs

  - ### getClient

    IDfClient getClient()
    Returns the DFC client object from which this session was obtained.
    Returns:
      the DFC client object from which this session was obtained.

  - ### getClientConfig

    IDfTypedObject getClientConfig() throws DfException
    Returns an api config object.

    API config objects record the configuration of the api session. They are used in conjunction with the server config object to define the configuration of a client repository session. Refer to the Server Administrator's Guide for more information about client configuration.
    Returns:
      the api config object
    Throws:
      `DfException` - if a server error occurs

  - ### getDocbrokerMap

    IDfTypedObject getDocbrokerMap() throws DfException
    Returns information about the DocBrokers known to the DFC.

    Refer to the Server Administrator's Guide for more information about DocBrokers.
    Returns:
      an IDfTypedObject interface to the DocBroker map
    Throws:
      `DfException` - if a server error occurs

  - ### getServerMap

    IDfTypedObject getServerMap(String docbaseName) throws DfException
    Returns information about the servers that are known to a DocBroker.
    Parameters:
      `docbaseName` - the name of the repository associated with the servers for which you are requesting information
    Returns:
      an IDfTypedObject interface to the server map
    Throws:
      `DfException` - if a server error occurs

  - ### getAuditTrailManager

    IDfAuditTrailManager getAuditTrailManager() throws DfException
    Retrieves the Audit Trail manager for this session.
    Returns:
      An audit trail manager for this session.
    Throws:
      `DfException`

  - ### getEventManager

    IDfEventManager getEventManager() throws DfException
    Retrieves the Event manager for this session.
    Returns:
      An event manager for this session.
    Throws:
      `DfException`

  - ### getDocbaseScope

    String getDocbaseScope() throws DfException
    Returns the default repository scope of this session.

    A session's default repository scope is the repository in which default-scoped methods perform their operations. The name of the repository is stored in the docbase_scope attribute of the session config object.
    Returns:
      the current default repository scope of this session
    Throws:
      `DfException` - if the session is disconnected
    See Also:
      - `setDocbaseScope(java.lang.String)`
      - `setDocbaseScopeById(com.documentum.fc.common.IDfId)`

  - ### setDocbaseScope

    String setDocbaseScope(String docbaseName) throws DfException
    THIS METHOD IS NOT THREAD SAFE. THIS IS A DEPRECATED METHOD.

    Changes the DFC session's default docbase scope using a repository name.

    A session's default docbase scope is the repository in which default-scoped methods perform their operations. When a user starts a repository session, the default docbase scope is the repository to which the session user connected. Use this method to change the default docbase scope.

    It is usually unnecessary to use this method, but if you must, then use the following pattern:

         synchronized (session) {

           String strOriginalScope = session.getDocbaseScope();

           try {

             session.setDocbaseScopeById(exprObjId);

                    [Your code goes here]

           }

           finally {

             session.setDocbaseScope(strOriginalScope);

           }

         }

    This solution works only for Java clients. Do not use this method from COM or .NET when several threads share the same DFC session.

    To return the current default docbase scope, use `getDocbaseScope()`.

    For more information about docbase scope, refer to Server Fundamentals.
    Parameters:
      `docbaseName` - the repository name
    Returns:
      the previous repository scope
    Throws:
      `DfException` - if the session is disconnected
    See Also:
      - `getDocbaseScope()`

  - ### setDocbaseScopeById

    String setDocbaseScopeById(IDfId objectId) throws DfException
    THIS METHOD IS NOT THREAD SAFE. THIS IS A DEPRECATED METHOD.

    Refer to the comments on setDocbaseScope for details of what this method does and how to use it.

    For more information about docbase scope and scoping methods, refer to Server Fundamentals.
    Parameters:
      `objectId` - an IDfId object that contains the object ID
    Returns:
      the previous repository scope
    Throws:
      `DfException` - if the session is disconnected
    See Also:
      - `getDocbaseScope()`

  - ### isAdopted

    boolean isAdopted() throws DfException
    Deprecated.
    Indicates whether the session was established by adopting a DMCL session.

    An adopted session is a session that is obtained using `IDfClient.adoptDMCLSession(java.lang.String)`.
    Returns:
      `true` if this is an adopted DMCL session; `false` if it is not
    Throws:
      `DfException` - if the session has been disconnected

  - ### isRemote

    boolean isRemote() throws DfException
    Deprecated.
    Reserved for future use.
    Returns:
      `true`
    Throws:
      `DfException`

  - ### lock

    boolean lock(int timeoutInMsec)
    Deprecated.
    Attempts to acquire a lock.

    `timeoutInMsec` defines how long `lock` waits for the session to become available. If the session is not available in the specified amount of time, `lock` returns `false`.
    Parameters:
      `timeoutInMsec` - Specifies the amount of time, in milliseconds, to wait for the lock to be available. If 0 or a negative value, `lock` returns immediately without waiting.
    Returns:
      `true` if successful or `false` otherwise
    See Also:
      - `unlock()`

  - ### unlock

    boolean unlock()
    Deprecated.
    Releases a lock.
    Returns:
      `true` if successful or `false` if your thread didn't own the lock
    See Also:
      - `lock(int)`

  - ### getDMCLSessionId

    String getDMCLSessionId() throws DfException
    Deprecated.
    use `getSessionId()` instead.
    Returns the Documentum DMCL session ID that this DFC session uses.
    Returns:
      the DMCL session ID
    Throws:
      `DfException` - if this session has been disconnected

  - ### traceDMCL

    void traceDMCL(int level, String traceFile) throws DfException
    Deprecated.
    Please configure tracing using the ClientConfig object `IDfClient.getClientConfig()`
    Activates tracing for the DMCL API.

    DMCL tracing is placed in a log file located on the client. This file records all user API method calls and the responses generated by the API. Refer to the Server Administrator's Guide for more information about tracing.
    Parameters:
      `level` - A value of 0 disables tracing, a non-zero value enables tracing.
      `traceFile` - the location of the API log file; If unspecified a default value is used. Refer to the Server Administrator's Guide for more information about tracing.
    Throws:
      `DfException` - if a server error occurs

  - ### isServerTraceOptionSet

    boolean isServerTraceOptionSet(String optionName) throws DfException
    Queries the status of server-side tracing options for the session.

    Refer to the Server Administrator's Guide for more information about tracing.
    Parameters:
      `optionName` - A valid server-side tracing option name
    Throws:
      `DfException` - if a server error occurs

  - ### setServerTraceLevel

    void setServerTraceLevel(int level, String facility) throws DfException
    Sets the session's tracing level for a particular facility on the server.

    Refer to the Server Administrator's Guide for more information about tracing.
    Parameters:
      `level` -
      `facility` -
    Throws:
      `DfException` - if a server error occurs

  - ### apiGet

    String apiGet(String cmd, String args) throws DfException
    Deprecated.
    Calls the dmAPIGet function.

    This methods calls the dmAPIGet function to execute the server API method passed as an argument.

    Instead of using this method, application developers are encouraged to write to the DFC because all functionality in the server APIs can be accessed through the DFC classes.

    Because `apiGet` automatically inserts the session ID into calls made to this method, do not add the session argument to server API calls that require them.

    The following code example demonstrates how to issue the "get" API method:

    >      if (sess.apiGet("get","0900d5bb8001f900,object_name").equals("testDoc"))
    >      {
    >           // Get succeeded...
    >      }

    Parameters:
      `cmd` - the server API.
      `args` - the arguments for the API specified in `cmd`. Refer to the Server Reference Manual for more information about arguments for server APIs.
    Returns:
      the value returned by the API specified in `cmd`. Refer to the Server Reference Manual for more information about the return values for server APIs.
    Throws:
      `DfException` - if the `dmAPIGet` server API failed.

  - ### apiSet

    boolean apiSet(String cmd, String args, String value) throws DfException
    Deprecated.
    Calls the dmAPISet function.

    This method calls the dmAPISet function to execute the server API method passed as an argument.

    Instead of using this method, application developers are encouraged to write to the DFC because all functionality in the server APIs can be accessed through the DFC classes.

    Refer to the Server Reference Manual for more information about DMCL server APIs.

    The following code example demonstrates how to issue the "set" API method:

    >      if (sess.apiSet("set","0900d5bb8001f900,object_name","newName"))
    >      {
    >           // Set succeeded...
    >      }

    Parameters:
      `cmd` - The server API.
      `args` - The arguments for the API specified in `cmd`. Refer to the Server Reference Manual for more information about arguments for server APIs.
      `value` - The value that you want to assign to the attribute.
    Returns:
      the value `true` is always returned
    Throws:
      `DfException` - if the `dmAPISet` server API failed.

  - ### apiExec

    boolean apiExec(String cmd, String args) throws DfException
    Deprecated.
    Calls the dmAPIExec function.

    This method calls the dmAPIExec function to execute the server API method passed in as an argument.

    Instead of using this method, application developers are encouraged to write to the DFC because all functionality in the server APIs can be accessed through the DFC classes.

    Refer to the Server Reference Manual for more information about DMCL server APIs.

    The following code example demonstrates how to issue the "grant" API method:

    >      if (sess.apiExec("grant","0900d5bb8001f900,tuser,7"))
    >      {
    >           // Successfully issued the grant API...
    >      }

    Parameters:
      `cmd` - the server API.
      `args` - the arguments for the API specified in `cmd`. Refer to the Server Reference Manual for more information about arguments for server APIs.
    Returns:
      the value `true` is always returned
    Throws:
      `DfException` - if the `dmAPIExec` server API failed .

  - ### apiGetBytes

    ByteArrayInputStream apiGetBytes(String cmd, String args, String buf, String buflen, int length) throws DfException
    Deprecated.
    Calls the dmAPIGet function.

    Use this method in place of `apiGet` to process the collection returned when you issue a DMCL getcontent method, which returns data from a memory buffer. Use Next to iterate through the collection and `apiGetBytes` to retrieve the items in the collection. Because `apiGetBytes` automatically inserts the session ID into calls made to this method, do not add that argument to server API calls that require them.

    For example:

    >      coll=apiGet("getcontent","object_id")
    >      while(dmAPIExec("next",...)
    >           textBuffer=apiGetBytes("get",......)

    Refer to the Server Reference Manual for more information about the server APIs.
    Parameters:
      `cmd` - the server API that you want to pass to the DFC.
      `args` - the arguments for the API specified in `cmd`. Refer to the Server Reference Manual for more information about arguments for server APIs.
      `buf` - Set this to _content_buffer.
      `buflen` - Set this to current_length.
      `length` - The length of the content stored in memory. This parameter is optional and currently unused if set.
    Returns:
      a ByteArrayInputStream object containing the returned data.
    Throws:
      `DfException` - if the server returns an error.

  - ### apiSetBytes

    boolean apiSetBytes(String cmd, String args, ByteArrayOutputStream content) throws DfException
    Deprecated.
    Calls the dmAPISet function.

    This method calls the dmAPISet function to execute the server API method passed in as an argument. The method passes content in the form of a ByteArrayOutputStream object. It is intended for use when you want to pass the Setcontent method to the DMCL. The Setcontent method references content in memory rather than content in a file. Use `apiSetBytes` instead of `apiSet` in these instances.

    However, application developers are encouraged to write to the DFC since all functionality in the server APIs can be accessed through the DFC classes.

    Refer to the Server Reference Manual for more information about server APIs.
    Parameters:
      `cmd` - The server API that you want to pass to the DFC
      `args` - The arguments for the API specified in `cmd`. Refer to the Server Reference Manual for information server API syntax.
      `content` - A ByteArrayOutputStream containing the content that you want to pass with the server API specified with `cmd`
    Returns:
      `true` if the call to the server API specified with `cmd` was successful; `false` if not
    Throws:
      `DfException` - if the server returns an error

  - ### apiDesc

    IDfList apiDesc(String api) throws DfException
    Deprecated.
    Calls the API "desc" function.

    This method calls the dmAPIDesc function to determine the callling type of the server API method passed in as the argument. It returns an IDfList containing one string and three integer values.

    Usage note:

    >      IDfList list = apiDesc("apply");
    >      String status  = list.getString( 0 );
    >      int cmdId = list.getInt( 1 );
    >      int cmdCallType = list.getInt( 2 );
    >      int cmdSession = list.getInt( 3 );

    Parameters:
      `api` - the name of the api
    Returns:
      An IDfList object that contains a string as the first element. The next three elements of the list are integers. The first integer is the unique code for the api, the second integer represents the type of call required for api (e.g. `DM_EXEC`, `DM_GET`, `DM_SET`, `DM_OTHER`), and the third integer is the session.
    Throws:
      `DfException` - if a server error occurs

  - ### resetTicketKey

    boolean resetTicketKey() throws DfException
    Generates an asymmetric key and sets it as the login ticket key of the repository. Note: After executing this method, the repository must be restarted so that the new login ticket key will take effect.
    Returns:
      true for success, false otherwise
    Throws:
      `DfException`
    Since:
      5.3

  - ### exportTicketKey

    String exportTicketKey(String password) throws DfException
    Returns the login ticket key of the repository. The returned key is encrypted using the given password.
    Parameters:
      `password` - used to encrypt the login ticket key.
    Returns:
      the encrypted login ticket.
    Throws:
      `DfException`
    Since:
      5.3

  - ### importTicketKey

    boolean importTicketKey(String key, String password) throws DfException
    Sets the given key, encrypted using the given password, as the login ticket key of the repository. Note: After executing this method, the repository must be restarted so that the new login ticket key will take effect.
    Parameters:
      `key` - an encrypted login ticket key exported by exportTicketKey.
      `password` - used to encrypt/decrypt the login ticket key.
    Returns:
      true for success, false otherwise.
    Throws:
      `DfException`
    Since:
      5.3

  - ### addDynamicGroup

    void addDynamicGroup(String groupName) throws DfException
    Adds the session user to the dynamic group for this session. This causes the user to be treated as a active member of the dynamic group for this session until either the session is terminated or the user is explicitly removed. Note: In order to add a user to a dynamic group for a session, the user must already be a potential member of the dynamic group.
    Parameters:
      `groupName` - name of the dynamic group to which the session user should be added
    Throws:
      `DfException` - if a server error occurs
    Since:
      5.2.10

  - ### removeDynamicGroup

    void removeDynamicGroup(String groupName) throws DfException
    Removes the session user from the dynamic group for this session. This will cause the user to no longer be treated as a active member of the dynamic group for this session. Note: If the user is not already actively participating as a member of the dynamic group, the call will be a no-op.
    Parameters:
      `groupName` - name of the dynamic group from which to remove the session user
    Throws:
      `DfException` - if a server error occurs
    Since:
      5.2.10

  - ### getDynamicGroupCount

    int getDynamicGroupCount() throws DfException
    Gets the number of dynamic groups that the session user is actively participating as a member of.
    Returns:
      the number of dynamic groups in which the session user is participating
    Throws:
      `DfException` - if a server error occurs
    Since:
      5.2.10

  - ### getDynamicGroup

    String getDynamicGroup(int index) throws DfException
    Gets the dynamic group at the specified index from the sessionConfig.
    Parameters:
      `index` - of the dynamic group desired
    Returns:
      name of the dynamic group at the specified index
    Throws:
      `DfException` - if a server error occurs
    Since:
      5.2.10

  - ### resetPassword

    boolean resetPassword(String password) throws DfException
    Resets password or login ticket associated with the user credential of the current session.
    Parameters:
      `password` - - new password or login ticket
    Returns:
      boolean.
    Throws:
      `DfException` - if a server error occurs
    Since:
      5.3

  - ### getApplicationToken

    String getApplicationToken(String userName, String scope, int timeout, String appId, boolean machineOnly) throws DfException
    Acquires an application access control token.
    Parameters:
      `userName` - - user for whom to acquire a token
      `scope` - - the scope of acquired token. It can be "docbase" or "global"
      `timeout` - - How long the acquired token will remain valid after generation
      `appId` - - Application ID
      `machineOnly` - - if the acquired token can be used only on the client machine where is acquired.
    Returns:
      an application access control token
    Throws:
      `DfException` - if a server error occurs
    Since:
      5.3

  - ### getModuleRegistry

    IDfLocalModuleRegistry getModuleRegistry() throws DfException
    Factory method that instantiates an `IDfLocalModulesRegistry`, a repository module registry object.
    Throws:
      `DfException`
    Since:
      5.3

  - ### getObjectPaths

    IDfEnumeration getObjectPaths(IDfId objectId) throws DfException
    Generate `IDfEnumeration`object of `IDfObjectPath`objects for an object with a given object id.````
    Parameters:
      `objectId` - an `IDfId` object that contains the object ID
    Returns:
      `IDfEnumeration` object of `IDfObjectPath` objects. `IDfObjectPath` objects with empty or duplicate getAccessibleFolderIds() are ommited. `IDfEnumeration` is empty if object not found or there is no `IDfObjectPath` objects to return.
    Throws:
      `DfException` - if a server error occurs.
    Since:
      5.3

  - ### getObjectPaths

    IDfObjectPathsMap getObjectPaths(IDfList objectIdsList) throws DfException
    Generate a map of `IDfObjectPath`objects for a list of objects with given object ids.``
    Parameters:
      `objectIdsList` - an `IDfList` of `IDfId` object that contains the object IDs
    Returns:
      `IDfObjectPathsMap` object of `IDfObjectPath` objects.
    Throws:
      `DfException` - if a server error occurs.
    Since:
      6.0

  - ### assume

    void assume(IDfLoginInfo loginInfo) throws DfException
    Gives ownership of the session to a new user.
    Parameters:
      `loginInfo` - An `IDfLoginInfo` object that contains the required user validation information.
    Throws:
      `DfException` - if a server error occurs.
    Since:
      5.3

  - ### getAcsTransferPreferences

    IDfAcsTransferPreferences getAcsTransferPreferences()
    Returns an `IDfAcsTransferPreferences` object.
    Returns:
      `IDfAcsTransferPreferences` object
    Since:
      5.3 sp1.

  - ### setAcsTransferPreferences

    void setAcsTransferPreferences(IDfAcsTransferPreferences acsTransferPreferences)
    Sets an `IDfAcsTransferPreferences` object.
    Parameters:
      `acsTransferPreferences` - `IDfAcsTransferPreferences` object
    Since:
      5.3 sp1.

  - ### isRestricted

    boolean isRestricted()
    Indicates whether the DFC session is a restricted session.

    The only valid operation on a restricted session is `changePassword(java.lang.String, java.lang.String)`.

  - ### isDeadlockVictim

    boolean isDeadlockVictim()
    Indicates whether the DFC session was chosen as the vicim of a deadlock.

    This value is reset when the next operation is sent to the repository.

  - ### publishDataDictionary

    void publishDataDictionary(String locale, String typeName, String attributeName, boolean forcePublish) throws DfException
    Publish Data Dictionary information. By default, the method publishes only the data dictionary objects that need to be refreshed. To force the method to publish all the data dictionary objects for the object type, attribute, or locales, set the force_publish argument to TRUE.
    Parameters:
      `locale` - Identifies the locale for which you want to publish data dictionary information. You can specify a locale or the keyword DM_SESSION_DD_LOCALE. You can specify any locale found in the dd_locales attribute of the docbase config object.
      `typeName` - Identifies the object type for which you want to publish data dictionary information. Use the object type�s internal name. If this is not included, all data dictionary information for the specified locale is published.
      `attributeName` - Identifies a specific attribute whose information you want to publish. If you include an attribute name, you must include the type argument, and the type argument must identify the object type for which the attribute is defined.
      `forcePublish` - Indicates whether to publish all data dictionary objects for the object type, attribute , or locales or only those whose resync_needed attribute is TRUE. This argument is FALSE by default.
    Throws:
      `DfException`

  - ### isServerAuthenticated

    boolean isServerAuthenticated()
    Stateful connection information. DFC may optionally ask to establish server authentication to support session communication.
    Returns:
      true if the session is with an authenticated server. This implies SSL or TLS, and the authentication of the server follows RFC 2246.

  - ### isClientAuthenticated

    boolean isClientAuthenticated()
    Stateful connection information. Client may optionally authenticate to the server (i.e. the client identity is known to the server) to support session communication.
    Returns:
      true if the session is over a connection for which the identity of the client is known to the server.

  - ### reparentLightObjects

    void reparentLightObjects(IDfId newParentId, IDfList childIds) throws DfException
    Reparents multiple lightweight objects at a time. This method will commit the reparenting of the children immediately without additional saves
    Parameters:
      `newParentId` -
      `childIds` -
    Throws:
      `DfException`

  - ### flushObject

    void flushObject(IDfId objectId) throws DfException
    Remove the specified object from the cache.
    Throws:
      `DfException`

  - ### flushCachedQuery

    void flushCachedQuery(String dqlQuery) throws DfException
    Remove the specified query from the query cache.
    Throws:
      `DfException`

  - ### killSession

    void killSession(IDfId sessionId, String immediacyLevel, String message) throws DfException
    Kill the specified server session. After calling this the associated client session can automatically reconnect.
    Parameters:
      `sessionId` - the id of the session to kill (returned by the LIST_SESSIONS administrative method.
      `immediacyLevel` - Enumeration value indicating when the session will be killed (@see DfSessionKillImmediacyLevel).
      `message` - a user message of up to 255 characters that will be placed in the server log.
    Throws:
      `DfException`

  - ### getSessionScopeManager

    IDfSessionScopeManager getSessionScopeManager()
    Returns an IDfSessionScopeManager object.
    Since:
      6.5

  - ### getFtConfig

    IDfFtConfig getFtConfig() throws DfException
    Get the fulltext configuration object that contains information about what capabilities the underlying fulltext engine has
    Returns:
      IDfFtConfig object.
    Throws:
      `DfException`
    Since:
      7.0

  - ### getMessageQueueManager

    IDfMessageQueueManager getMessageQueueManager()
    Get a message queue factory object.
    Returns:
      IDfMessageQueueFactory object.
    Throws:
      `DfException`
    Since:
      7.0

  - ### requestDormancy

    boolean requestDormancy() throws DfException
    Makes a request to move the server to which this session is connected to a dormant state. This is dormant state is not persistent and the server will be active upon a restart or re-init. For this operation to succeed, the user of this session should be a member of the dm_datacenter_managers group
    Returns:
      True if the request succeeded, false otherwise
    Throws:
      `DfException` - if an error occurs while requesting dormancy

  - ### requestDormancy

    boolean requestDormancy(boolean allServersForThisDocbase) throws DfException
    Makes a request to move the docbase or server to a dormant state For this operation to succeed, the user of this session should be a member of the dm_datacenter_managers group
    Parameters:
      `allServersForThisDocbase` - when true, dormancy is requested for this docbase. This state is persistent for the docbase and will have to be explicitly made active When false, dormancy is requested only for the server through which this session is connected
    Returns:
      True if the request succeeded, false otherwise
    Throws:
      `DfException` - if an error occurs while requesting dormancy

  - ### checkDormantStatus

    com.documentum.fc.client.DormantStatus checkDormantStatus() throws DfException
    Checks the status of the server to which this session is connected For this operation to succeed, the user of this session should be a member of the dm_datacenter_managers group
    Returns:
      DormantStatus an enumeration representing the status of the entity requested for. ACTIVE means the entity is active, DORMANCY_REQUESTED means the entity has been submitted a request to become dormant, DORMANT means its dormant
    Throws:
      `DfException` - if an error occurs while requesting status

  - ### checkDormantStatus

    com.documentum.fc.client.DormantStatus checkDormantStatus(boolean allServersForThisDocbase) throws DfException
    Checks whether a server or docbase is dormant or not For this operation to succeed, the user of this session should be a member of the dm_datacenter_managers group
    Parameters:
      `allServersForThisDocbase` - when true, status check is requested for this docbase. When false, status check is requested only for the server through which this session is connected
    Returns:
      DormantStatus an enumeration representing the status of the entity requested for. ACTIVE means the entity is active, DORMANCY_REQUESTED means the entity has been submitted a request to become dormant, DORMANT means its dormant
    Throws:
      `DfException` - if an error occurs while requesting status

  - ### makeActive

    boolean makeActive() throws DfException
    Makes a request to move the server to which this session is connected to an active state For this operation to succeed, the user of this session should be a member of the dm_datacenter_managers group
    Returns:
      True if the request succeeded, false otherwise
    Throws:
      `DfException` - if an error occurs while requesting dormancy

  - ### makeActive

    boolean makeActive(boolean allServersForThisDocbase) throws DfException
    Makes a request to move the docbase or server to an active state For this operation to succeed, the user of this session should be a member of the dm_datacenter_managers group
    Parameters:
      `allServersForThisDocbase` - when true, a request is made to make this docbase active. When false, a request is made to make the server to which this session is connected active.
    Returns:
      True if the request succeeded, false otherwise
    Throws:
      `DfException` - if an error occurs while requesting dormancy

  - ### enableSaveInDormantState

    boolean enableSaveInDormantState() throws DfException
    Enables save operation for dormant state. When a server or docbase is dormant no save operations are allowed. A user in dm_datacenter_managers group has to explicitly enable save operation. This method serves that purpose
    Returns:
      true if save is enabled for the user of this session, false otherwise
    Throws:
      `DfException` - if an error occurs while enabling save operations in dormant state

  - ### disableSaveInDormantState

    boolean disableSaveInDormantState() throws DfException
    Disables save operation for dormant state. When a user from the dm_datacenter_managers group has enabled save operation, it can be disabled back again after performing neecessary operation in the dormant state. This method allows the user of this session to disable save operations
    Returns:
      true if the save was disabled for the user of this session, false otherwise
    Throws:
      `DfException` - if an error occurs while disabling save

  - ### projectDormantStatus

    boolean projectDormantStatus() throws DfException
    Only projects to docbroker that this server is dormant. The server could actually be active After calling this no new connections can be made to that server. It will have no impact on existing connections or activities that do not require a new connection
    Returns:
      true if projection to docbroker was successful, false otherwise
    Throws:
      `DfException` - if an error occurs while projecting dormant status to docbroker

  - ### projectActiveStatus

    boolean projectActiveStatus() throws DfException
    Only projects to docbroker that this server is active. The server could actually be active. Ideally this is called after call to the method `projectDormantStatus`.
    Returns:
      true if projection to docbroker was successful, false otherwise
    Throws:
      `DfException` - if an error occurs while projecting dormant status to docbroker or if the server is in DORMANT state and this method is called to make it ACTIVE.

  - ### startGatheringMetrics

    IDfCollection startGatheringMetrics(List<String> metricsToGather) throws DfException
    This methods indicates to the server to start gathering the metrics that have been passed in to this method. The metrics should be in the format `componentIdentifer@metric` where componentIdentifier is CS i.e. Content Server. If no componentIdentifier is specified it will still pick CS. Please lookup the server administration manual for the names of metrics that can be gathered.
    Parameters:
      `metricsToGather` - a list of metrics in the above mentioned format to start gathering
    Returns:
      IDfCollection with attributes specifying whether the operation was successful or not and a repeating attribute specifying the list for which gathering has been started
    Throws:
      `DfException` - if an error occurs while gathering metrics

  - ### stopGatheringMetrics

    IDfCollection stopGatheringMetrics(List<String> metricsToStop) throws DfException
    This methods indicates to the server to stop gathering the metrics that have been passed in to this method. The metrics should be in the format `componentIdentifer@metric` where componentIdentifier is CS i.e Content Server. If no componentIdentifier is specified it still defaults to CS. Please lookup the server administration manual for the names of metrics that can be gathered.
    Parameters:
      `metricsToStop` - a list of metrics in the above mentioned format to stop gathering
    Returns:
      IDfCollection with attributes specifying whether the operation was successful or not and a repeating attribute specifying the list for which gathering has been stopped
    Throws:
      `DfException` - if an error occurs while gathering metrics

  - ### collectMetrics

    IDfCollection collectMetrics(List<String> metricsToCollect) throws DfException
    This methods indicates to the server to collect the metrics that have been passed in to this method. The metrics should be in the format `componentIdentifer@metric` where componentIdentifier is CS i.e. Content Server. If no componentIdentifier is specified it will still pick Content Server. Please lookup the server administration manual for the names of metrics that can be gathered.
    Parameters:
      `metricsToCollect` - a list of metrics in the above mentioned format to collect
    Returns:
      IDfCollection with attributes specifying whether the operation was successful or not and a repeating attribute whose name is the name of the metric and whose value is the metric itself
    Throws:
      `DfException` - if an error occurs while gathering metrics

  - ### collectMetrics

    IDfCollection collectMetrics(List<String> metricsToCollect, String outputFormat) throws DfException
    This methods indicates to the server to collect the metrics that have been passed in to this method. The metrics should be in the format `componentIdentifer@metric` where componentIdentifier is CS i.e. Content Server. If no componentIdentifier is specified it will still pick Content Server. Please lookup the server administration manual for the names of metrics that can be gathered.
    Parameters:
      `metricsToCollect` - a list of metrics in the above mentioned format to collect
      `outputFormat` - a String indicating the format in which metrics are gathered. Valid values are, - NATIVE or empty String or null – Behaves like the method with no parameter for the metrics -JSON – The metrics gathered will be in JSON format
    Returns:
      IDfCollection with attributes specifying whether the operation was successful or not and if requested format is JSON, a repeating attribute representing the metrics. If there are more than one values for the repeating attribute, all of them have to concatenated before interpreting the JSON. For any other valid values for the format method it will be like the method with no parameter
    Throws:
      `DfException` - if an error occurs while gathering metrics

  - ### listMetricsState

    IDfCollection listMetricsState() throws DfException
    Retrieves the state of all the metrics that are gatherable from the server. Values of states can be, - INTIALIZED - metric can be gathered, but gathering has not yet started - STARTED - metrics gathering has been started - STOPPED - metric gathering has been stopped
    Returns:
      an IDfCollection object, where repeating attribute METRIC_NAME is the name of the metric and METRIC_STATE is the state of the metric at the same index. The collection also has a result attribute which is a boolean attribute, with TRUE indicating a successful operation and false indicating a failed one
    Throws:
      `DfException` - if an error occurs while listing metric states

  - ### resetMetrics

    boolean resetMetrics() throws DfException
    This is for resetting the metrics. This is for clearing the counters for restarting metrics gathering. This is also used to free up memory on the server associated with gathering metrics. So it is recommended that this method be called once all the necessary metrics gathering has been completed.
    Returns:
      a boolean which when TRUE indicates that the reset was successful and when FALSE it means reset failed
    Throws:
      `DfException` - if an error occured while resetting metrics