Package com.documentum.operations

# Interface IDfCheckoutOperation

All Superinterfaces:
  `IDfOperation`

public interface IDfCheckoutOperation extends IDfOperation
The checkout operation obtains a repository lock, downloads the local content file, patches compound references (for example, XML external entity references), and creates registry entries for each node in the operation.

IDfSysObject, IDfVirtualDocument, and IDfVirtualDocumentNode objects may be added to a checkout operation. If a virtual document is added, the entire graph of the virtual document will be processed as part of the operation.

Any objects added to the checkout operation that are already checked out will not be processed. No error is returned for previously checked out objects.

Compound document references will be patched during checkout. For example, if an XML file that has a link to an image file is checked out, the path to the image file will be updated in the parent XML document as a part of the checkout operation. The same is true for OLE compound documents, such as a Word document that has an OLE link to an Excel spreadsheet.

- ## Field Summary

  ### Fields inherited from interface com.documentum.operations.IDfOperation

  `GENERATE_RESOURCE_FORK, IGNORE_RESOURCE_FORK, REQUIRE_RESOURCE_FORK, RESOURCE_FORK_UNDEFINED, USE_RESOURCE_FORK_IF_AVAILABLE`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `enableManageApplicationSupportDocuments(boolean shouldManageAppSuppDocs)`
  If you do not want Documentum to manage any of the documents in the Application Support Documents set this to false.
  `IDfAcsTransferPreferences`
  `getAcsTransferPreferences()`
  Returns the `IDfAcsTransferPreferences` object to be used.
  `String`
  `getDefaultDestinationDirectory()`
  Returns the default file system directory path that is the output location for the outbound content files.
  `String`
  `getDestinationDirectory()`
  Returns the file system directory path that is the default output location for the outbound content files.
  `int`
  `getMacOption()`
  Returns the setting for Macintosh handling for this operation.
  `IDfList`
  `getObjects()`
  Returns the list of unique objects in this operation.
  `void`
  `setAcsTransferPreferences(IDfAcsTransferPreferences acsTransferPreferences)`
  Sets the `IDfAcsTransferPreferences` object to be used.
  `void`
  `setBaseFolder(String cabinetFolderPath, String linkBase)`
  Normally, when an XML virtual document is exported without its descendants, external references are patched as DRLs.
  `void`
  `setDestinationDirectory(String dirPath)`
  Sets the file system directory path that is the default output location for the outbound content files.
  `void`
  `setDownloadContent(boolean downloadContent)`
  If you do not want to download content, set this to `false`.
  `void`
  `setExportDescendants(boolean exportDescendants)`
  Causes the root object to be checked out, but not the descendants, when a virtual document is added to the operation.
  `void`
  `setIncludeExternalReferences(boolean includeExternalRefs)`
  If you do not want any external references(for example, images) downloaded, set this to false.
  `void`
  `setMacOption(int option)`
  Sets the Macintosh behavior options for this operation.
  `void`
  `setXMLFileEncoding(String encoding)`
  Allows the user to checkout XML files in a particular encoding.
  `void`
  `setXMLSchemaLocation(String schemaLocation)`
  Allows the user to specify the schema location to patch in the xml content.
  `void`
  `setXMLSystemId(String dtdPath)`
  Allows the user to specify the dtd path to patch in the xml content.
  `boolean`
  `shouldDownloadContent()`
  Returns false if download content is set to `false`, `true` otherwise.

  ### Methods inherited from interface com.documentum.operations.IDfOperation

  `abort, add, areDisabledRegistryUpdates, canUndo, disableRegistryUpdates, enablePopulateWithReferences, execute, getContext, getDescription, getErrors, getName, getNodes, getOperationMonitor, getOperationType, getProperties, getRootNodes, getSession, getSteps, isAborted, isEnabledPopulateWithReferences, logError, removeNode, reportError, resetErrors, setOperationMonitor, setSession, succeeded`

- ## Method Details

  - ### getDestinationDirectory

    String getDestinationDirectory() throws DfException
    Returns the file system directory path that is the default output location for the outbound content files. This can be overridden for individual operation nodes by calling DfOutboundNode.setDestinationDirectory().
    Returns:
      file system directory path.
    Throws:
      `DfException`

  - ### setDestinationDirectory

    void setDestinationDirectory(String dirPath) throws DfException
    Sets the file system directory path that is the default output location for the outbound content files. This can be overridden for individual operation nodes by calling DfOutboundNode.setDestinationDirectory().
    Parameters:
      `dirPath` - file system directory path.
    Throws:
      `DfException`

  - ### getDefaultDestinationDirectory

    String getDefaultDestinationDirectory() throws DfException
    Returns the default file system directory path that is the output location for the outbound content files. Operations such as checkout default to a user-specified directory that can be obtained from this method.
    Returns:
      default file system directory path.
    Throws:
      `DfException`

  - ### getObjects

    IDfList getObjects() throws DfException
    Returns the list of unique objects in this operation. Each entry in the list is an IDfSysObject.
    Returns:
      returns the list of unique objects in this operation
    Throws:
      `DfException`
    See Also:
      - `IDfSysObject`

  - ### setIncludeExternalReferences

    void setIncludeExternalReferences(boolean includeExternalRefs)
    If you do not want any external references(for example, images) downloaded, set this to false. Any node that is not an inline entity(for example, a chunk) will not be downloaded. The link reference will be patched with a DRL. The default value is true.
    Parameters:
      `includeExternalRefs` - if `false`, the external references will not be downloaded.

  - ### enableManageApplicationSupportDocuments

    void enableManageApplicationSupportDocuments(boolean shouldManageAppSuppDocs)
    If you do not want Documentum to manage any of the documents in the Application Support Documents set this to false. If the exported file references a DTD or schema, the reference(SYSTEM ID or schemaLocation) will be patched to the object name of the DTD in the repository. The DTD would not be downloaded to the file system.

    It is the responsibility of the caller to download the DTD at the required location. The user can use setXMLSystemId to patch the DTD to the required location. The default value is `true`.
    Parameters:
      `shouldManageAppSuppDocs` - if `false`, the documents in Application Support Documents folder will not be downloaded.
    See Also:
      - `setXMLSystemId(java.lang.String)`

  - ### setBaseFolder

    void setBaseFolder(String cabinetFolderPath, String linkBase)
    Normally, when an XML virtual document is exported without its descendants, external references are patched as DRLs. Use this method to specify an alternative path for patching. Specify the repository cabinetFolderPath to patch to the desired location. If linkbase is also provided, it will be prepended to the cabinet/folder path.
    Parameters:
      `cabinetFolderPath` - the cabinet/folder path where the external references need to be patched
      `linkBase` - the linkbase to be prepended to the cabinet/folder path.

  - ### setXMLSystemId

    void setXMLSystemId(String dtdPath)
    Allows the user to specify the dtd path to patch in the xml content. Note that the dtd would not be downloaded to the location specified in the dtdPath. It is the responsibility of the user to download the dtd to the required location.
    Parameters:
      `dtdPath` - the path where the dtd needs to be patched

  - ### setXMLSchemaLocation

    void setXMLSchemaLocation(String schemaLocation)
    Allows the user to specify the schema location to patch in the xml content.
    Parameters:
      `schemaLocation` - the location where the schema needs to be patched

  - ### getMacOption

    int getMacOption()
    Returns the setting for Macintosh handling for this operation.

    Possible values include:

                        IGNORE_RESOURCE_FORK - No resource fork is output, even if the
                                         resource fork is present in the repository
                        USE_RESOURCE_FORK_IF_AVAILABLE - Resource fork is downloaded only if one is
                                                   already available in repository.
                        REQUIRE_RESOURCE_FORK - Resource fork is required. An error is generated if
                                          the resource fork is not available in the repository.
                        GENERATE_RESOURCE_FORK - A resource fork is generated if it is not explicitly
                                           available.

    Returns:
      the setting for Macintosh handling for this operation. If no Macintosh option is set via setMacOption(), then RESOURCE_FORK_UNDEFINED is returned.
    Since:
      DFC 5.2.5

  - ### setMacOption

    void setMacOption(int option)
    Sets the Macintosh behavior options for this operation. The appledouble option can be overridden for individual nodes using setMacOption of IDfCheckoutNode

    Possible values include:

                        IGNORE_RESOURCE_FORK - No resource fork is output, even if the
                                         resource fork is present in the repository
                        USE_RESOURCE_FORK_IF_AVAILABLE - Resource fork is downloaded only if one is
                                                   already available in the repository.
                        REQUIRE_RESOURCE_FORK - Resource fork is required. An error is generated if
                                          the resource fork is not available in the repository
                        GENERATE_RESOURCE_FORK - A resource fork will be generated if it is not explicitly
                                           available.

    Parameters:
      `option` - - possible values: IGNORE_RESOURCE_FORK, USE_RESOURCE_FORK_IF_AVAILABLE, REQUIRE_RESOURCE_FORK, GENERATE_RESOURCE_FORK.
    Since:
      DFC 5.2.5

  - ### setDownloadContent

    void setDownloadContent(boolean downloadContent)
    If you do not want to download content, set this to `false`. The default value is `true`.
    Parameters:
      `downloadContent` - if false the content will not be downloaded.

  - ### shouldDownloadContent

    boolean shouldDownloadContent()
    Returns false if download content is set to `false`, `true` otherwise. The default value is `true`.
    Returns:
      `false` if download content is set to `false`, `true` otherwise.
    Since:
      DFC 5.3

  - ### setExportDescendants

    void setExportDescendants(boolean exportDescendants)
    Causes the root object to be checked out, but not the descendants, when a virtual document is added to the operation. The descendants are downloaded as read-only. Pass `true` to download descendants but not check them out. The dafault is to download and checkout descendants.
    Parameters:
      `exportDescendants` - if `true`, the root object will be checked out, but not the descendants.
    Since:
      5.3

  - ### setXMLFileEncoding

    void setXMLFileEncoding(String encoding)
    Allows the user to checkout XML files in a particular encoding. This method allows the user to indicate the encoding in which they would like to have the document returned. The document (including the encoding declaration) will be returned in the specified encoding. Any characters that are not available in the given encoding will be represented as numeric entities.
    Parameters:
      `encoding` - the encoding in which the document needs to be checked out.
    Since:
      5.3

  - ### getAcsTransferPreferences

    IDfAcsTransferPreferences getAcsTransferPreferences()
    Returns the `IDfAcsTransferPreferences` object to be used.
    Returns:
      `IDfAcsTransferPreferences` object to be used
    Since:
      5.3 sp1.

  - ### setAcsTransferPreferences

    void setAcsTransferPreferences(IDfAcsTransferPreferences acsTransferPreferences)
    Sets the `IDfAcsTransferPreferences` object to be used.
    Parameters:
      `acsTransferPreferences` - `IDfAcsTransferPreferences` object to be used
    Since:
      5.3 sp1.