Package com.documentum.com

# Interface IDfClientX

All Known Implementing Classes:
  `DfClientX`

public interface IDfClientX
An interface that provides factory methods and methods to facilitate DFC access through COM. This interface provides factory methods for constructing DFC objects that would normally be created using the `new` operator. In addition, it facilitates access to DFC through COM.

Also it provides substitute wrapper methods for static DFC class methods.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `ByteArrayInputStreamToString(ByteArrayInputStream bais)`
  Converts a Java `ByteArrayInputStream` object into a String.
  `void`
  `closeTrace()`
  Deprecated.
  as of DFC 5.2.
  `Object`
  `deserializeObject(String image)`
  Restores the object from its serialized image.
  `void`
  `flushTrace()`
  Deprecated.
  as of DFC 5.2.
  `IDfAcsClient`
  `getAcsClient()`
  Returns an `IDfAcsClient` object.
  `IDfAcsTransferPreferences`
  `getAcsTransferPreferences()`
  Factory method that constructs a new `IDfAcsTransferPreferences` instance.
  `IDfCancelCheckoutOperation`
  `getCancelCheckoutOperation()`
  Factory method that constructs a new `IDfCancelCheckout` object.
  `IDfCheckinOperation`
  `getCheckinOperation()`
  Factory method that constructs a new `IDfCheckinOperation` object for checking in one or more checked out repository objects.
  `IDfCheckoutOperation`
  `getCheckoutOperation()`
  Factory method that constructs a new `IDfCheckoutOperation` object for checking in one or more repository objects previously checked out.
  `IDfClientRegistry`
  `getClientRegistry()`
  Factory method that constructs a new `IDfClientRegistry` object that provides access to the Docbase object information stored on the local system.
  `com.documentum.operations.contentpackage.IDfContentPackageFactory`
  `getContentPackageFactory()`
  Factory method that returns a handle to `IDfContentPackageFactory` object.
  `IDfCopyOperation`
  `getCopyOperation()`
  Factory method that constructs a new `IDfCopyOperation` object.
  `IDfDborEntry`
  `getDborEntry()`
  Factory method that constructs a new `IDfDborEntry` object.
  `IDfDeleteOperation`
  `getDeleteOperation()`
  Factory method that constructs a new `IDfDeleteOperation` object.
  `String`
  `getDFCVersion()`
  Returns the current DFC version string.
  `IDfDocbrokerClient`
  `getDocbrokerClient()`
  Factory method that contructs a new `IDfDocbrokerClient` instance.
  `IDfEnumeration`
  `getEnumeration(Enumeration en)`
  Factory method for an `IDfEnumeration` object.
  `IDfEnumeration`
  `getEnumerationFromIterator(Iterator it)`
  Factory method for an `IDfEnumeration` object.
  `IDfExportOperation`
  `getExportOperation()`
  Factory method that constructs a new `IDfExportOperation` object for exporting one or more repository objects to the file system.
  `IDfFile`
  `getFile(String filePath)`
  Factory method that constructs a new `IDfFile` object that represents a file system file.
  `IDfFormatRecognizer`
  `getFormatRecognizer(IDfSession session, String filePath, String suggestedFormat)`
  Factory method that constructs a new `IDfFormatRecognizer` object that is used to suggest what Docbase formats might be appropriate for the specified file.
  `IDfGetObjectOptions`
  `getGetObjectOptions()`
  Factory method for an `IDfGetObjectOptions` object.
  `IDfId`
  `getId(String id)`
  Factory method for an `IDfId` object.
  `IDfImportOperation`
  `getImportOperation()`
  Factory method that constructs a new `IDfImportOperation` object for importing one or more files into the repository.
  `IDfList`
  `getList()`
  Factory method for an `IDfList` object.
  `IDfClient`
  `getLocalClient()`
  Factory method for an `IDfClient` object.
  `IDfClient`
  `getLocalClient32()`
  Returns a DFC local client object that will call into DMCL32.dll for backward compatibility with pre-4.0 Documentum servers.
  `IDfLogger`
  `getLogger()`
  `IDfLoginInfo`
  `getLoginInfo()`
  Factory method for an `IDfLoginInfo` object.
  `IDfFormatRecognizer`
  `getMacFormatRecognizer(IDfSession session, String dataForkpath, String resourceForkPath, String suggestedFormat)`
  Factory method that constructs a new `IDfFormatRecognizer` object that is used to suggest what Docbase formats might be appropriate based on both the data and resource forks of a Macintosh file.
  `IDfMoveOperation`
  `getMoveOperation()`
  Factory method that constructs a new `IDfMoveOperation` object.
  `IDfOperation`
  `getOperation(String operationName)`
  Deprecated.
  As of DFC 5.3, replaced by one of the `getXxxxOperation` methods
  `IDfPermit`
  `getPermit()`
  Factory method that contructs a new `IDfPermit` object.
  `IDfPredictiveCachingOperation`
  `getPredictiveCachingOperation()`
  Factory method that constructs a new `IDfPredictiveCachingOperation` object for predictive content caching.
  `IDfProperties`
  `getProperties()`
  Factory method that constructs a new empty `IDfProperties` object that provides functionality for manipulating values in a hashable.
  `IDfQuery`
  `getQuery()`
  Factory method for an `IDfQuery` object.
  `com.documentum.fc.client.qb.IDfQueryMgr`
  `getQueryMgr()`
  Factory method that constructs a new `IDfQueryMgr` object that is used for configuring and sending complex DQL queries to Documentum servers using the query builder objects located in the `com.documentum.fc.client.qb` package.
  `IDfTime`
  `getTime(String time, String pattern)`
  Factory method for an `IDfTime` object.
  `String`
  `getTraceFileName()`
  Deprecated.
  as DFC 6.0.
  `int`
  `getTraceLevel()`
  Deprecated.
  As of DFC 6.0, this value may be obtained programmatically by calling DfClient.getLocalClient().getClientConfig().getBoolean("dfc.tracing.enable").
  `IDfTracer`
  `getTracer()`
  `boolean`
  `getTraceThreads()`
  Returns if the current DFC trace contains threading information.
  `boolean`
  `getTraceTime()`
  Deprecated.
  as of DFC 5.2.
  `IDfValidationOperation`
  `getValidationOperation()`
  Factory method that constructs a new `IDfValidationOperation` object.
  `IDfVirtualDocument`
  `getVirtualDocument(IDfSysObject rootObject, String lateBindingValue, boolean followRootAssembly)`
  Returns a virtual document object where the provided `IDfSysObject` is the root object of the virtual document.
  `IDfVirtualDocumentNode`
  `getVirtualDocumentNodeFromToken(IDfSession session, String token)`
  Returns an interface to a node of a virtual document given a unique token that represents the node in the virtual document tree.
  `IDfXMLDocType`
  `getXMLDocType()`
  Factory method that contructs a new `IDfXMLDocType` object.
  `IDfXmlQuery`
  `getXmlQuery()`
  Factory method that constructs a new `IDfXmlQuery` object.
  `IDfXMLTransformOperation`
  `getXMLTransformOperation()`
  Factory method that constructs a new `IDfTransformOperation` object for using XSLT to transform one or more XML documents into another form, such as HTML, PDF, etc.
  `IDfXMLUtils`
  `getXMLUtils()`
  Factory method that constructs a new `IDfXMLUtils` object that provides methods for XML related functions, like `getApplicationByDTD, getObjectIdFromDRL , isXML, isHTML,` and so on.
  `IDfXQuery`
  `getXQuery()`
  Factory method that constructs a new `IDfXQuery` object.
  `com.documentum.xml.xquery.IDfXQueryTargets`
  `getXQueryTargets(int targetCategory)`
  Factory method that constructs a new `IDfXQueryTargets` object.
  `IDfException`
  `parseException(String streamedExc)`
  Turns a string returned by OLE/COM exception into an `IDfException` object.
  `String`
  `serializeObject(Object objToSerialize)`
  Serializes an object.
  `void`
  `setTraceFileName(String fileName)`
  Deprecated.
  as of DFC 5.2.
  `void`
  `setTraceLevel(int level)`
  Deprecated.
  As of DFC 6.0, tracing is enabled/disabled by setting the configuration option "dfc.tracing.enable" in dfc.properties.
  `void`
  `setTraceThreads(boolean fEnable)`
  Sets the DFC trace to contain threading information.
  `void`
  `setTraceTime(boolean fEnable)`
  Deprecated.
  as of DFC 5.2.
  `ByteArrayOutputStream`
  `StringToByteArrayOutputStream(String s)`
  Converts a String into a Java `ByteArrayOutputStream` object.
  `void`
  `traceMsg(String msg)`
  Print a message to the DFC trace output.
  `void`
  `traceMsgCond(int triggerLevel, String msg)`
  Conditionally print a message to the trace output.

- ## Method Details

  - ### getLocalClient

    IDfClient getLocalClient() throws DfException
    Factory method for an `IDfClient` object. Returns a DFC local client object that will call into DMCL40.dll to connect to the Documentum servers. This method call will precede the calls to connect to the Documentum server (`IDfClient.newSession(), IDfClient.getSharedSession()`). Calling this method after the first call merely returns a reference to the same `IDfClient` object returned from the first call. There is no penalty for calling this method more than once in a program.

    The following code examples demonstrate how to obtain an `IDfClient` interface:

    Java:

               IDfClientX clientx = new DfClientX();
               IDfClient client = DfClient.getLocalClient();
               // Login details are then setup here...
               // Then a session is established with the Documentum server...
               IDfSessionManager sMgr = client.newSessionManager();
               sMgr.setIdentity( strDocbaseName, loginInfo );
               IDfSession session = sMgr.getSession( strDocbaseName );

    Visual Basic:

             Dim clientx As New DfClientX
             Dim client As IDfClient
             Dim sMgr as IDfSessionManager
             Dim session As IDfSession
             Set client = clientx.getLocalClient
             Set sMgr as client.getSessionManager
             ' Login details are then setup here...
             ' Then a session is established with the Documentum server...
             sMgr.setIdentity( strDocbaseName )
             Set session = sMgr.getSession( strDocbaseName )

    Returns:
      a DFC local client object.
    Throws:
      `DfException` - an error object with an error code `DM_DFC_E_INIT_DMCL` indicating DMCL40.dll could not be loaded.
    See Also:
      - `getLocalClient32()`

  - ### getLoginInfo

    IDfLoginInfo getLoginInfo()
    Factory method for an `IDfLoginInfo` object. Constructs a new empty object to set with login details prior to connecting to Documentum servers.

    The following code example demonstrates how to obtain an `IDfLoginInfo` interface, set login details then connect to a Documentum server:

    Visual Basic:

    >      Dim clientx As New DfClientX
    >      Dim client As IDfClient
    >      Dim sMgr as IDfSessionManager
    >      Dim loginInfoObj As IDfLoginInfo
    >      Dim session As IDfSession

    >      Set client = clientx.getLocalClient
    >      sMgr = client.newSessionManager

    >      Set loginInfoObj = clientx.getLoginInfo
    >      loginInfoObj.setUser "dbuser"
    >      loginInfoObj.setPassword "dbpass"

    >      sMgr.setIdentity( "docbaseName", loginInfoObj )
    >      Set session = sMgr.getSession( "docbaseName" )

    Returns:
      an `IDfLoginInfo` interface to a new empty `DfLoginInfo` object
    See Also:
      - `IDfClient.newSessionManager()`
      - `IDfSessionManager.setIdentity(java.lang.String, com.documentum.fc.common.IDfLoginInfo)`
      - `IDfClient.newSession(java.lang.String, com.documentum.fc.common.IDfLoginInfo)`
      - `IDfClient.getSharedSession(java.lang.String, com.documentum.fc.common.IDfLoginInfo, java.lang.String)`

  - ### getQuery

    IDfQuery getQuery()
    Factory method for an `IDfQuery` object. Constructs an new query object to use for sending DQL queries to Documentum servers.

    The following code example demonstrates how to obtain an `IDfQuery` interface, set a DQL query to the object and execute the query:

    Java:

    >      IDfClient client = new DfClient();
    >      IDfClientX clientx = new DfClientX();
    >      IDfQuery query = clientx.getQuery();
    >      query.setDQL( "select * from dm_cabinet" );
    >      IDfCollection coll = query.execute( session, IDfQuery.DF_READ_QUERY );

    Visual Basic:

    >      Dim clientx As New DfClientX
    >      Dim query as IDfQuery
    >      Dim coll as IDfCollection
    >      Set query = clientx.getQuery
    >      query.setDQL "select * from dm_cabinet"
    >      Set coll = query.execute(session, DFCLib.IDfQuery.DF_READ_QUERY)

    Returns:
      an `IDfQuery` interface to a query object.

  - ### getGetObjectOptions

    IDfGetObjectOptions getGetObjectOptions()
    Factory method for an `IDfGetObjectOptions` object. Constructs a new option object to use with getObjectWithOptions.

    The following code example demonstrates how to obtain an `IDfGetObjectOptions` interface, set object options and call getObjectWithOptions.

    Java:

    >      IDfClientX clientx = new DfClientX();
    >      IDfGetObjectOptions objectOptions = clientx.getGetObjectOptions();
    >      //Set object with values for partitionid,typeName, cachePersistently, and currencyCheckValue.
    >      //By default, the values are -1, null, false and null.
    >      objectOptions.setPartition(1,"dm_document"); //for example, partitionid value is 1
    >      //                                             and type name needs to be the exact
    >      //                                             object type name, not any super type name
    >      IDfPersistentObject perObj = sess.getObjectwithOptions(idObj,objectOptions);
    >      if (perObj.getObjectId().getId().equals("0900d5bb8001f900"))
    >      {
    >           // Successfully fetched object...
    >      }

    Returns:
      an `IDfGetObjectOptions` interface to a new empty object options.

  - ### getList

    IDfList getList()
    Factory method for an `IDfList` object. Constructs a new `IDfList` object representing an empty list to fill with data. DFC applications should always use an `IDfList` object instead of a `java.util.List` object.

    The following code example demonstrates how to obtain an `IDfList` interface and insert a value into the list:

    Java:

    >      IDfClientX clientx = new DfClientX()
    >      IDfList listString = clientx.getList();
    >      if( listStrings.getCount() == 0 )
    >      {
    >          // The list is correctly empty...
    >      }
    >      listStrings.insertString( "stringVal" );
    >      if( listStrings.getCount == 1 )
    >      {
    >          // Item added correctly...
    >      }

    Visual Basic:

    >      Dim clientx As New DfClientX
    >      Dim listStrings As IDfList
    >      Set listStrings = clientx.getList
    >      If listStrings.getCount = 0 Then
    >      ' The list is correctly empty...
    >      End If
    >      listStrings.insertString "stringVal"
    >      If listStrings.getCount = 1 Then
    >      ' Item added correctly...
    >      End If

    Returns:
      an `IDfList` interface to a new list object.
    See Also:
      - `IDfList.getList(int)`
      - `IDfProperties.getList(java.lang.String)`

  - ### getId

    IDfId getId(String id)
    Factory method for an `IDfId` object. Constructs a new `IDfId` object representing an object id of an object in the Documentum server.

    The following code example demonstrates how to obtain an `IDfId` interface:

    >      Dim clientx As New DfClientX
    >      Dim id As IDfId
    >      Set id = clientx.getId("0900d5bb8001fd00")
    >      If id.toString = "0900d5bb8001fd00" Then
    >      ' Do something here...
    >      End If

    Parameters:
      `id` - the object id of an object in the Documentum server.
    Returns:
      an `IDfId` an interface to an object id.
    See Also:
      - `IDfId.getId()`
      - `IDfTypedObject.getId(java.lang.String)`
      - `IDfTypedObject.getId(java.lang.String)`
      - `IDfVirtualDocument.getId()`

  - ### getTime

    IDfTime getTime(String time, String pattern)
    Factory method for an `IDfTime` object. Constructs a new time object initialized to the time and format pattern provided by the user. If you want to get an IDfTime instance representing the NULLDATE, pass an empty string ("") for both parameters.

    The following code example demonstrates how to obtain an `IDfTime` interface:

    >      Dim clientx As New DfClientX
    >      Dim t As IDfTime
    >      Set t = clientx.getTime("09/09/2000 12:12:47", "mm/dd/yyyy hh:mi:ss")

    Parameters:
      `time` - the time to initialize the object to.
      `pattern` - defines the pattern that you want to use to interpret the value of time. If a pattern is empty, the value is interpreted using the client's short date format if that is defined. The valid patterns are:
      `
      - mm/dd/[yy]yy
      - dd-mon-[yy]yy
      - month dd[,] [yy]yy
      - mon dd [yy]yy
      - [dd/]mm/[yy]yy
      - [yy]yy/mm[/dd] [hh:mi:ss]
      - [yy]yy/mm[/dd] [hh:mi:ss]
      - [mon-][yy]yy [hh:mi:ss]
      - month[,][yy]yy [hh:mi:ss]
      `
    Returns:
      a new `IDfTime` object

  - ### getEnumeration

    IDfEnumeration getEnumeration(Enumeration en)
    Factory method for an `IDfEnumeration` object. Constructs a new DFC enumeration object used to iterate a Java `Enumeration`.
    Parameters:
      `en` - a Java `Enumeration` object.
    Returns:
      a new `IDfEnumeration` object

  - ### getEnumerationFromIterator

    IDfEnumeration getEnumerationFromIterator(Iterator it)
    Factory method for an `IDfEnumeration` object. Constructs a new DFC enumeration object used to iterate a Java `Iterator`.
    Parameters:
      `it` - a Java `Iterator` object.
    Returns:
      a new `IDfEnumeration` object
    Since:
      5.3

  - ### getTraceLevel

    int getTraceLevel()
    Deprecated.
    As of DFC 6.0, this value may be obtained programmatically by calling DfClient.getLocalClient().getClientConfig().getBoolean("dfc.tracing.enable").
    Returns the current DFC trace level. A value of zero indicates that tracing is turned off.
    Returns:
      the current DFC trace level.

  - ### setTraceLevel

    void setTraceLevel(int level)
    Deprecated.
    As of DFC 6.0, tracing is enabled/disabled by setting the configuration option "dfc.tracing.enable" in dfc.properties. This option is dynamic and changes in its value will take affect immediately. Tracing may be programmatically configured by setting the "dfc.tracing.enable" attribute on the typed object returned by IDfClient.getClientConfig().
    Turns on DFC tracing when level is greater than 0. The default trace level is 0. A value of zero turns tracing off.

    The trace file should be set using the `setTraceFileName` method.
    Parameters:
      `level` - specifies the trace level.

  - ### getTraceFileName

    String getTraceFileName()
    Deprecated.
    as DFC 6.0.
    Returns the current DFC trace filename.
    Returns:
      the fully qualified file name of the current trace file.

  - ### setTraceFileName

    void setTraceFileName(String fileName)
    Deprecated.
    as of DFC 5.2.
    Redirects the trace output to the specified file. There is no default filename.
    Parameters:
      `fileName` - specifies the trace filename.

  - ### getTraceTime

    boolean getTraceTime()
    Deprecated.
    as of DFC 5.2.
    Returns if the current DFC trace contains timing information.
    Returns:
      true if the DFC trace includes timing information, `false` if it does not.

  - ### setTraceTime

    void setTraceTime(boolean fEnable)
    Deprecated.
    as of DFC 5.2.
    Set the DFC trace to contain timing information.

  - ### flushTrace

    void flushTrace()
    Deprecated.
    as of DFC 5.2.
    Flushes the DFC trace output.

  - ### closeTrace

    void closeTrace()
    Deprecated.
    as of DFC 5.2.
    Close the DFC trace output.

  - ### traceMsg

    void traceMsg(String msg)
    Print a message to the DFC trace output.
    Parameters:
      `msg` - specifies the message to be printed.

  - ### traceMsgCond

    void traceMsgCond(int triggerLevel, String msg)
    Conditionally print a message to the trace output. The message will print if the current trace level is less than or equal to the value of argument `triggerLevel`.
    Parameters:
      `triggerLevel` - specifies the trace level.
      `msg` - specifies the message to be printed.
    See Also:
      - `traceMsgCond(int, java.lang.String)`

  - ### parseException

    IDfException parseException(String streamedExc)
    Turns a string returned by OLE/COM exception into an `IDfException` object.

    The following code example demonstrates how to obtain an `IDfException` interface from a Visual Basic generated error description:

    >      Dim clientx As New DfClientX
    >      dim e as IDfException
    >      Set e = clientx.parseException(Err.Description)
    >      If e.getErrorCode = DFCLib.IDfException_DM_DFC_E_SERVER Then
    >      ' ...
    >      ElseIf e.getErrorCode = DFCLib.IDfException_DM_DFC_E_BAD_VALUE Then
    >      ' ...
    >      End If

    Parameters:
      `streamedExc` - OLE/COM exception message.
    Returns:
      an `IDfException` interface to the exception object created from parsing `streamedExc`.

  - ### getQueryMgr

    com.documentum.fc.client.qb.IDfQueryMgr getQueryMgr()
    Factory method that constructs a new `IDfQueryMgr` object that is used for configuring and sending complex DQL queries to Documentum servers using the query builder objects located in the `com.documentum.fc.client.qb` package.

    The following code example demonstrates how to obtain an `IDfQueryMgr` interface:

    >      Dim clientx As New DfClientX
    >      dim qm as IDfQueryMgr
    >      Set qm = clientx.getQueryMgr

    Returns:
      an interface to a query manager object.

  - ### getVirtualDocument

    IDfVirtualDocument getVirtualDocument(IDfSysObject rootObject, String lateBindingValue, boolean followRootAssembly) throws DfException
    Returns a virtual document object where the provided `IDfSysObject` is the root object of the virtual document.

    The following code example demonstrates how to obtain an `IDfVirtualDocument` interface:

    >      Dim clientx As New DfClientX
    >      Dim vDoc As IDfVirtualDocument
    >      Dim sysObjId As IDfId
    >      Dim sysObjRoot As IDfSysObject
    >      Set sysObjId = clientx.getId("0900d43180001104")
    >      Set sysObjRoot = sessionObj.getObject(sysObjId)
    >      Set vDoc = clientx.getVirtualDocument(sysObjRoot, "CURRENT", False)

    Parameters:
      `rootObject` - object of the document to serve as the root of the virtual document.
      `lateBindingValue` - version label value to use to resolve late bound nodes of the virtual document. Pass null to use the default value "`CURRENT`".
      `followRootAssembly` - `true` if the associated assembly of the root document should be followed instead of any virtual children.
    Returns:
      an `IDfVirtualDocument` interface to the object.
    Throws:
      `DfException` - if an error occurs setting up the rootObject.
    See Also:
      - `IDfSysObject.asVirtualDocument(java.lang.String, boolean)`

  - ### getOperation

    IDfOperation getOperation(String operationName) throws DfException
    Deprecated.
    As of DFC 5.3, replaced by one of the `getXxxxOperation` methods
    Factory method for creating a new operation object.

    The preferred approach is to use one of the `getXxxx Operation` methods. For example, `getCopyOperation` or `getImportOperation`.

    For `IDfOperation` and its subclasses (for example, `IDfCopyOperation`), you can create an instance by using this method. The `getOperation` method takes one string that specifies which subclassed operation type to create.

    The following code example demonstrates how to obtain an `IDfOperation` interface:

    Visual Basic:

    >      Dim clientx As New DfClientX
    >      Dim opObj As IDfOperation
    >      Dim opImport as IDfImportOperation
    >      Set opObj = clientx.getOperation "Import"
    >      Set opImport = opObj

    Java:

    >      IDfClientX clientx = new DfClientX();
    >      IDfImportOperation opImport =
    >      (IDfImportOperation)clientx.getOperation("Import");

    Parameters:
      `operationName` - specifies which subclassed operation type to create. The following are the valid strings that can be passed as operation name:

      Name | Description
      --- | ---
      Checkout | Checkout operation
      Checkin | Checkin operation
      Import | Import operation
      Export | Export operation
      CancelCheckout | Cancel checkout operation
      Copy | Copy operation
      Delete | Delete operation
      Move | Move operation
      XMLTransform | XSLT transformation operation
      Validation | XML validation operation

    Returns:
      a reference to a new `IDfOperation` interface as a superclass of the specified operation object type.
    Throws:
      `DfException` - if unable to instantiate the desired operation.
    See Also:
      - `getImportOperation()`
      - `getCheckinOperation()`
      - `getExportOperation()`
      - `getCheckoutOperation()`
      - `getCancelCheckoutOperation()`
      - `getCopyOperation()`
      - `getDeleteOperation()`
      - `getMoveOperation()`
      - `getXMLTransformOperation()`
      - `getValidationOperation()`

  - ### getFile

    IDfFile getFile(String filePath) throws DfException
    Factory method that constructs a new `IDfFile` object that represents a file system file. DFC applications should use the `IDfFile` interface rather than the `java.io.File` class when manipulating file system files.

    The following code example demonstrates how to obtain an `IDfFile` interface:

    Java:

    >      IDfClientX clientx = new DfClientX();
    >      IDfFile theFile = clientx.getFile( "c:/dfctest.doc" );

    In Java, remember to use either a single forward slash "/" or a double backslash "\\" for the path separator. The forward slash is preferred.

    Visual Basic:

    >      Dim clientx As New DfClientX
    >      Dim theFile As IDfFile
    >      Set theFile = clientx.getFile("c:\dfctest.doc")

    Parameters:
      `filePath` - full path to the file.
    Returns:
      an `IDfFile` interface to the file.
    Throws:
      `DfException` - if the file path is equal to `null`.

  - ### getDFCVersion

    String getDFCVersion()
    Returns the current DFC version string.
    Returns:
      a String containing the DFC version string, such as `"4.2.13.283"` if successful, otherwise, `"Unknown"`.

  - ### getFormatRecognizer

    IDfFormatRecognizer getFormatRecognizer(IDfSession session, String filePath, String suggestedFormat) throws DfException
    Factory method that constructs a new `IDfFormatRecognizer` object that is used to suggest what Docbase formats might be appropriate for the specified file. The `IDfFormatRecognizer` can be used to obtain a list of all possible format choices for a given file on disk (from most likely, to least likely).

    The following code example demonstrates how to obtain an `IDfFormatRecognizer` interface, then loop through all suggested file formats for a given file:

    Visual Basic:

    >      Dim clientx As New DfClientX
    >      Dim formatRec As IDfFormatRecognizer
    >      Dim formatList As IDfList
    >      Set theFile = clientx.getFormatRecognizer(sess, "c:/dfctest.txt", "crtext")
    >      Set formatList = formatRec.getSuggestedFileFormats
    >      For i = 0 To (formatList.getCount - 1)
    >      Debug.Print formatList.getString(i)
    >      Next i

    Parameters:
      `session` - an interface to a Documentum server session.
      `filePath` - the full path to a file on disk.
      `suggestedFormat` - the users suggested format for the given file; typically the existing object format. This parameter can be null.
    Returns:
      an `IDfFormatRecognizer` an interface to a files likely formats.
    Throws:
      `DfException` - if the file path is equal to null.

  - ### getClientRegistry

    IDfClientRegistry getClientRegistry() throws DfException
    Factory method that constructs a new `IDfClientRegistry` object that provides access to the Docbase object information stored on the local system. DFC applications use the `IDfClientRegistry` interface when they need to store information in the client registry for such actions as checking out an object, viewing and object, or for obtaining client configuration details.

    The following code examples demonstrate how to obtain an `IDfClientRegistry` interface:

    Java:

    >      IDfClientX clientx = new DfClientX();
    >      IDfClientRegistry clientReg = clientx.getClientRegistry();
    >      if( clientReg.getExportDirectory().equalsIgnoreCase( "f:\\Documentum\\Export" ) )
    >      {
    >      // do something here...
    >      }

    Visual Basic:

    >      Dim clientx As New DfClientX
    >      Dim clientReg As IDfClientRegistry
    >      Set clientReg = clientx.getClientRegistry
    >      If clientReg.getExportDirectory = "f:\Documentum\Export" Then
    >      ' do something here...
    >      End IF

    Returns:
      an `IDfClientRegistry` interface to the client registry.
    Throws:
      `DfException` - if unable to access the client registry.

  - ### getLocalClient32

    IDfClient getLocalClient32() throws DfException
    Returns a DFC local client object that will call into DMCL32.dll for backward compatibility with pre-4.0 Documentum servers.

    This method call will precede the calls to connect to the Documentum server (`IDfClient.newSession(), IDfClient.getSharedSession()`).

    The following code example demonstrates how to obtain an `IDfClient` interface:

    >      Dim clientx As New DfClientX
    >      Dim client As IDfClient
    >      Dim sess As IDfSession
    >      Set client = clientx.getLocalClient32
    >      ' Login details are then setup here...
    >      ' Then a session is established with the Documentum server...
    >      Set sess = client.newSession("docbaseName", loginInfoObj)

    Throws:
      `DfException` - if we cannot load or initialize DMCL.

  - ### getVirtualDocumentNodeFromToken

    IDfVirtualDocumentNode getVirtualDocumentNodeFromToken(IDfSession session, String token) throws DfException
    Returns an interface to a node of a virtual document given a unique token that represents the node in the virtual document tree. Each node in a virtual document tree can have a unique token. The token corresponds to document node in a particular format (the format corresponds to the virtual document node's position with respect to the root).

    For example,

         Root
         |
         |-- Child1
         |   |
         |   --- Child1_1
         |
         --- Child1_2
             |
             --- Child2

    Assume Root has a chronicle id as `0900123480002345`, Child1 has chronicle id as `0900123480003456`, and the late binding for the virtual document Root node is specified as `"CURRENT"`. The `token` for Child1 would be `"0900123480002345_3456|CURRENT"`.

    Assume Child1_1 has a chronicle id as `0900123480003457`, then the `token` for Child1_1 would be "`0900123480002345_3456_7|CURRENT`".

    If the Root node is following assembly, then the `token` for Child1 would be "`0900123480002345_3456|FA`", and the `token` for Child1_1 would be "`0900123480002345_3456_7|FA`".

    The following code example demonstrates how to obtain an `IDfVirtualDocumentNode` interface where late binding is specified as `"CURRENT"`, and the desired node is the first child in a virtual document tree:

    >      Dim clientx As New DfClientX
    >      Dim vDocNode As IDfVirtualDocumentNode
    >      Set vDocNode = clientx.getVirtualDocumentNodeFromToken( sess,
    >              "0900123480002345_3456|CURRENT")

    Parameters:
      `session` - an interface to a DFC session.
      `token` - a string representing a node in a virtual document tree.
    Returns:
      an `IDfVirtualDocumentNode` interface to the desired node.
    Throws:
      `DfException` - if the node is not available (`token` is malformed).

  - ### getTraceThreads

    boolean getTraceThreads()
    Returns if the current DFC trace contains threading information.
    Returns:
      `true` if threading information is included in the trace or `false` if not.

  - ### setTraceThreads

    void setTraceThreads(boolean fEnable)
    Sets the DFC trace to contain threading information.
    Parameters:
      `fEnable` - `true` to enable the threading information in the trace.

  - ### ByteArrayInputStreamToString

    String ByteArrayInputStreamToString(ByteArrayInputStream bais)
    Converts a Java `ByteArrayInputStream` object into a String. Used to convert the results of `IDfSysObject.getContent()` into a string.
    Parameters:
      `bais` - a Java `ByteArrayInputStream` object.
    Returns:
      a `String` extracted from the Java `ByteArrayInputStream` object

  - ### StringToByteArrayOutputStream

    ByteArrayOutputStream StringToByteArrayOutputStream(String s)
    Converts a String into a Java `ByteArrayOutputStream` object. Used to call `IDfSysObject.setContent(java.io.ByteArrayOutputStream)`.
    Parameters:
      `s` - the string to convert into a Java `ByteArrayOutputStream` object.
    Returns:
      a Java `ByteArrayOutputStream` object

  - ### getProperties

    IDfProperties getProperties()
    Factory method that constructs a new empty `IDfProperties` object that provides functionality for manipulating values in a hashable. DFC applications should always use an `IDfProperties` object instead of a `java.util.Hashtable` object.
    Returns:
      an `IDfProperties` interface

  - ### getXMLUtils

    IDfXMLUtils getXMLUtils()
    Factory method that constructs a new `IDfXMLUtils` object that provides methods for XML related functions, like `getApplicationByDTD, getObjectIdFromDRL , isXML, isHTML,` and so on.
    Returns:
      an `IDfXMLUtils` interface

  - ### getImportOperation

    IDfImportOperation getImportOperation() throws DfException
    Factory method that constructs a new `IDfImportOperation` object for importing one or more files into the repository.

    Returns:
      A new `IDfImportOperation` object.
    Throws:
      `DfException` - if unable to instantiate the desired operation
    Since:
      5.1
    See Also:
      - `IDfOperation`
      - `IDfImportOperation`
      - `IDfImportNode`

  - ### getCheckinOperation

    IDfCheckinOperation getCheckinOperation() throws DfException
    Factory method that constructs a new `IDfCheckinOperation` object for checking in one or more checked out repository objects.
    Returns:
      a new `IDfCheckinOperation` object.
    Throws:
      `DfException` - if unable to instantiate the desired operation
    Since:
      5.1
    See Also:
      - `IDfOperation`
      - `IDfCheckinOperation`
      - `IDfCheckinNode`

  - ### getExportOperation

    IDfExportOperation getExportOperation() throws DfException
    Factory method that constructs a new `IDfExportOperation` object for exporting one or more repository objects to the file system.
    Returns:
      a new `IDfExportOperation` object.
    Throws:
      `DfException` - if unable to instantiate the desired operation
    Since:
      5.1
    See Also:
      - `IDfOperation`
      - `IDfExportOperation`
      - `IDfExportNode`

  - ### getCheckoutOperation

    IDfCheckoutOperation getCheckoutOperation() throws DfException
    Factory method that constructs a new `IDfCheckoutOperation` object for checking in one or more repository objects previously checked out.
    Returns:
      a new `IDfCheckoutOperation` object.
    Throws:
      `DfException` - if unable to instantiate the desired operation
    Since:
      5.1
    See Also:
      - `IDfOperation`
      - `IDfCheckoutOperation`
      - `IDfCheckoutNode`

  - ### getCancelCheckoutOperation

    IDfCancelCheckoutOperation getCancelCheckoutOperation() throws DfException
    Factory method that constructs a new `IDfCancelCheckout` object.
    Returns:
      a new `IDfCancelCheckout` object.
    Throws:
      `DfException` - if unable to instantiate the desired operation
    Since:
      5.1
    See Also:
      - `IDfOperation`
      - `IDfCancelCheckoutOperation`
      - `IDfCancelCheckoutNode`

  - ### getCopyOperation

    IDfCopyOperation getCopyOperation() throws DfException
    Factory method that constructs a new `IDfCopyOperation` object.
    Returns:
      a new `IDfCopyOperation` object.
    Throws:
      `DfException` - if unable to instantiate the desired operation
    Since:
      5.1
    See Also:
      - `IDfOperation`
      - `IDfCopyOperation`
      - `IDfCopyNode`

  - ### getDeleteOperation

    IDfDeleteOperation getDeleteOperation() throws DfException
    Factory method that constructs a new `IDfDeleteOperation` object.
    Returns:
      a new `IDfDeleteOperation` object.
    Throws:
      `DfException` - if unable to instantiate the desired operation
    Since:
      5.1
    See Also:
      - `IDfOperation`
      - `IDfDeleteOperation`
      - `IDfDeleteNode`

  - ### getMoveOperation

    IDfMoveOperation getMoveOperation() throws DfException
    Factory method that constructs a new `IDfMoveOperation` object.
    Returns:
      a new `IDfMoveOperation` object.
    Throws:
      `DfException` - if unable to instantiate the desired operation
    Since:
      5.1
    See Also:
      - `IDfOperation`
      - `IDfMoveOperation`
      - `IDfMoveNode`

  - ### getXMLTransformOperation

    IDfXMLTransformOperation getXMLTransformOperation() throws DfException
    Factory method that constructs a new `IDfTransformOperation` object for using XSLT to transform one or more XML documents into another form, such as HTML, PDF, etc.
    Returns:
      a new `IDfXMLTransformOperation` object.
    Throws:
      `DfException` - if unable to instantiate the desired operation
    Since:
      5.1
    See Also:
      - `IDfOperation`
      - `IDfXMLTransformOperation`
      - `IDfXMLTransformNode`

  - ### getValidationOperation

    IDfValidationOperation getValidationOperation() throws DfException
    Factory method that constructs a new `IDfValidationOperation` object.
    Returns:
      a new `IDfValidationOperation` object.
    Throws:
      `DfException` - if unable to instantiate the desired operation
    Since:
      5.1
    See Also:
      - `IDfOperation`
      - `IDfValidationOperation`
      - `IDfValidationNode`

  - ### getContentPackageFactory

    com.documentum.operations.contentpackage.IDfContentPackageFactory getContentPackageFactory()
    Factory method that returns a handle to `IDfContentPackageFactory` object.
    Since:
      5.3

  - ### getXmlQuery

    IDfXmlQuery getXmlQuery()
    Factory method that constructs a new `IDfXmlQuery` object.
    Returns:
      a new `IDfXmlQuery` object.
    Since:
      5.1
    See Also:
      - `IDfXmlQuery`

  - ### getXQuery

    IDfXQuery getXQuery()
    Factory method that constructs a new `IDfXQuery` object.
    Returns:
      a new `IDfXQuery` object.
    Since:
      6.0 SP1
    See Also:
      - `IDfXQuery`

  - ### getXQueryTargets

    com.documentum.xml.xquery.IDfXQueryTargets getXQueryTargets(int targetCategory) throws DfException
    Factory method that constructs a new `IDfXQueryTargets` object.
    Parameters:
      `targetCategory` - - must be either IDfXQueryTargets.DF_XMLSTORE or IDfXQueryTargets.DF_FULLTEXT
    Returns:
      a new `IDfXQueryTargets` object
    Throws:
      `DfException`

  - ### getDborEntry

    IDfDborEntry getDborEntry()
    Factory method that constructs a new `IDfDborEntry` object.
    Returns:
      a new `IDfDborEntry` object.
    Since:
      5.1
    See Also:
      - `IDfDborEntry`

  - ### serializeObject

    String serializeObject(Object objToSerialize)
    Serializes an object. It is used for passing the object across process boundaries.
    Parameters:
      `objToSerialize` - object to serialize
    Returns:
      the serialized object
    Since:
      5.2

  - ### deserializeObject

    Object deserializeObject(String image) throws DfException
    Restores the object from its serialized image.
    Parameters:
      `image` - serialized object
    Returns:
      the deserialized object
    Throws:
      `DfException`
    Since:
      5.2

  - ### getTracer

    IDfTracer getTracer()

  - ### getLogger

    IDfLogger getLogger()

  - ### getXMLDocType

    IDfXMLDocType getXMLDocType()
    Factory method that contructs a new `IDfXMLDocType` object.
    Returns:
      a new `IDfXMLDocType` object.
    Since:
      5.2
    See Also:
      - `IDfXMLDocType`

  - ### getPermit

    IDfPermit getPermit()
    Factory method that contructs a new `IDfPermit` object.
    Returns:
      a new `IDfPermit` object.
    Since:
      5.2.10
    See Also:
      - `IDfPermit`

  - ### getMacFormatRecognizer

    IDfFormatRecognizer getMacFormatRecognizer(IDfSession session, String dataForkpath, String resourceForkPath, String suggestedFormat) throws DfException
    Factory method that constructs a new `IDfFormatRecognizer` object that is used to suggest what Docbase formats might be appropriate based on both the data and resource forks of a Macintosh file.
    Parameters:
      `session` - an interface to a Documentum server session.
      `dataForkpath` - the full path to a data fork file
      `resourceForkPath` - the full path to a resource fork file
      `suggestedFormat` - the users suggested format for the given file; typically the existing object format. This parameter can be null.
    Returns:
      an `IDfFormatRecognizer` an interface to the file's likely formats.
    Throws:
      `DfException`
    Since:
      5.2.5

  - ### getDocbrokerClient

    IDfDocbrokerClient getDocbrokerClient() throws DfException
    Factory method that contructs a new `IDfDocbrokerClient` instance.
    Throws:
      `DfException`
    Since:
      5.3
    See Also:
      - `IDfDocbrokerClient`

  - ### getAcsTransferPreferences

    IDfAcsTransferPreferences getAcsTransferPreferences()
    Factory method that constructs a new `IDfAcsTransferPreferences` instance.
    Returns:
      IDfAcsTransferPreferences object
    Since:
      5.3 sp1

  - ### getAcsClient

    IDfAcsClient getAcsClient()
    Returns an `IDfAcsClient` object.
    Returns:
      `IDfAcsClient` object
    Since:
      D6

  - ### getPredictiveCachingOperation

    IDfPredictiveCachingOperation getPredictiveCachingOperation() throws DfException
    Factory method that constructs a new `IDfPredictiveCachingOperation` object for predictive content caching.
    Returns:
      a new `IDfPredictiveCachingOperation` object.
    Throws:
      `DfException` - if unable to instantiate the desired operation
    Since:
      D6
    See Also:
      - `IDfOperation`
      - `IDfPredictiveCachingOperation`
      - `IDfPredictiveCachingNode`