Package com.documentum.operations

# Interface IDfDeleteOperation

All Superinterfaces:
  `IDfOperation`

public interface IDfDeleteOperation extends IDfOperation
The delete operation destroys specified versions for each object in the operation.

IDfSysobject, IDfFolder, IDfVirtualDocumentNode, and IDfVirtualDocument objects can be added to a delete operation. If a folder or virtual document is added, the entire recursive graph of their contents is deleted.

Note that checked out objects cannot be deleted; cancel the checkout first. An error is returned for any checked out objects included in a delete operation.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `ALL_VERSIONS`
  Delete all versions of the object.
  `static final int`
  `SELECTED_VERSIONS`
  Delete the selected version of the object.
  `static final int`
  `UNUSED_VERSIONS`
  Delete the unused versions of the object.

  ### 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`
  `enableDeepDeleteFolderChildren(boolean deepDeleteChildren)`
  When working with folders, delete the folder and all descendants, regardless of other folders into which they are linked.
  `void`
  `enableDeepDeleteVirtualDocumentsInFolders(boolean deepDeleteVDocs)`
  During a delete operation, the user can decide to delete a folder with all its descendants.
  `boolean`
  `getDeepFolders()`
  When working with folders, delete the folder and all of its descendants.
  `IDfList`
  `getObjects()`
  Returns the list of unique objects in this operation.
  `int`
  `getVersionDeletionPolicy()`
  Returns the delete operation population type.
  `void`
  `setDeepFolders(boolean deepFolders)`
  When working with folders, delete the folder and all of its descendants.
  `void`
  `setVersionDeletionPolicy(int whichVersions)`
  Sets the delete operation population type.

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

- ## Field Details

  - ### SELECTED_VERSIONS

    static final int SELECTED_VERSIONS
    Delete the selected version of the object.
    See Also:
      - Constant Field Values

  - ### UNUSED_VERSIONS

    static final int UNUSED_VERSIONS
    Delete the unused versions of the object. Unused versions are those versions that do not have symbolic labels.
    See Also:
      - Constant Field Values

  - ### ALL_VERSIONS

    static final int ALL_VERSIONS
    Delete all versions of the object.
    See Also:
      - Constant Field Values

- ## Method Details

  - ### getVersionDeletionPolicy

    int getVersionDeletionPolicy() throws DfException
    Returns the delete operation population type. Possible values include delete all versions of the documents added, delete unused versions (versions with no symbolic version labels), or delete just the selected versions. Note that this setting must be made prior to adding objects to the operation. By default version policy is set to SELECTED_VERSIONS; that is, only the current version of the document is deleted.
    Returns:
      value indicating 0=SELECTED_VERSIONS, 1=UNUSED_VERSIONS, 2=ALL_VERSIONS.
    Throws:
      `DfException`

  - ### setVersionDeletionPolicy

    void setVersionDeletionPolicy(int whichVersions) throws DfException
    Sets the delete operation population type. User can choose to delete all versions of the documents added, unused versions (versions with no symbolic version labels), or just the selected versions. Note that this setting must be made prior to adding objects to the operation.
    Parameters:
      `whichVersions` - indicating 0=SELECTED_VERSIONS, 1=UNUSED_VERSIONS, 2=ALL_VERSIONS.
    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`

  - ### getDeepFolders

    boolean getDeepFolders()
    When working with folders, delete the folder and all of its descendants. Boolean value. False indicates just delete the root folder. True indicates delete folder and its descendants. Default is true.
    Returns:
      `true` if deep delete of folder needs to be performed, `false` otherwise.

  - ### setDeepFolders

    void setDeepFolders(boolean deepFolders)
    When working with folders, delete the folder and all of its descendants. Boolean value. False indicates just delete the root folder. True indicates delete folder and its descendants. Default is true.
    Parameters:
      `deepFolders` - `true` if deep delete of folder needs to be performed, `false` otherwise.

  - ### enableDeepDeleteVirtualDocumentsInFolders

    void enableDeepDeleteVirtualDocumentsInFolders(boolean deepDeleteVDocs)
    During a delete operation, the user can decide to delete a folder with all its descendants. The folder can have virtual documents, and it is possible that the children of the virtual documents reside in some other folder that is not part of the delete operation. There are situations where the user may not want to delete children that reside in a different folder. Calling this method with `false` will not delete the virtual document children that are in different folder(s). The default is `true` (that is, DFC will delete the virtual document children that reside in different folders).
    Parameters:
      `deepDeleteVDocs` - `true` if you want to delete the children of the vitual documentum, `false` otherwise. The default is `true`.

  - ### enableDeepDeleteFolderChildren

    void enableDeepDeleteFolderChildren(boolean deepDeleteChildren)
    When working with folders, delete the folder and all descendants, regardless of other folders into which they are linked. If `false` is passed to this method, folder descendants that are linked into other folders will not be deleted. Instead, they will be unlinked from the folder(s) being deleted. Default is `true`.
    Parameters:
      `deepDeleteChildren` - `false` to not delete children linked outside folder(s).
    Since:
      6.0