Package com.documentum.operations

# Interface IDfCopyOperation

All Superinterfaces:
  `IDfOperation`

public interface IDfCopyOperation extends IDfOperation
IDfCopyOperation performs a copy of one or more nodes. This includes creating new repository objects,setting new object names, linking the new objects to appropriate destination folder, and fixing relationships.

IDfSysObject, IDfFolder, and IDfVirtualDocument objects can be added to a copy operation. Folder and virtual document objects are copied deep (that is, their contents are copied recursively). When copying a folder, sub-folder structure is retained in the new copy.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `COPY_COPY`
  Create new copies of referenced children when virtual document is copied.
  `static final int`
  `COPY_OPTION_DONT_MARK_SYMBOLIC_LABELS`
  Documentum internal use
  `static final int`
  `COPY_OPTION_PERFORM_MOVE`
  Documentum internal use
  `static final int`
  `COPY_OPTIONS_PERFORM_MOVE_AND_DONT_MARK_SYMOLIC_LABELS`
  Documentum internal use
  `static final int`
  `COPY_REFERENCE`
  Reference existing children when virtual document is copied.
  `static final int`
  `COPY_UNSPECIFIED`
  Documentum internal use

  ### 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
  `int`
  `getCopyOptionsFlag()`
  Returns the current copy option settings.
  `int`
  `getCopyPreference()`
  Returns an integer representing the copy option settings for the operation.
  `boolean`
  `getDeepFolders()`
  When working with folders, copy the folder and all of its descendants.
  `IDfId`
  `getDestinationFolderId()`
  Returns the repository object ID of the destination folder for the copy operation.
  `IDfList`
  `getNewObjects()`
  Returns the list of unique new objects created as a result of this operation.
  `IDfList`
  `getObjects()`
  Returns the list of unique objects in this operation.
  `void`
  `setCopyPreference(int copyPreference)`
  Sets an integer representing the copy option settings for the operation.
  `void`
  `setDeepFolders(boolean deepFolders)`
  When working with folders, copy the folder and all of its descendants.
  `void`
  `setDestinationFolderId(IDfId folderId)`
  Sets the repository object ID for the destination folder for the copy operation.
  `void`
  `setRetainStorageAreas(boolean retainStorageAreas)`
  Determine if the storage area of the primary content and renditions for the new object should be the same as the original objects rather than the default storage area set for the primary content of the new object. i.e. if the original object has rendition A in storage A and rendition B in storage B, then the new object's renditions must be in similar storage.
  `boolean`
  `shouldRetainStorageAreas()`
  Determine if the storage area of the primary content and renditions of the new object should be the same as the original objects rather than the default storage area set for the primary content of the new object; that is, if the original object has rendition A in storage A and rendition B in storage B, then the new object's renditions must also be in similar storage.

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

  - ### COPY_UNSPECIFIED

    static final int COPY_UNSPECIFIED
    Documentum internal use
    See Also:
      - Constant Field Values

  - ### COPY_REFERENCE

    static final int COPY_REFERENCE
    Reference existing children when virtual document is copied.
    See Also:
      - Constant Field Values

  - ### COPY_COPY

    static final int COPY_COPY
    Create new copies of referenced children when virtual document is copied.
    See Also:
      - Constant Field Values

  - ### COPY_OPTION_PERFORM_MOVE

    static final int COPY_OPTION_PERFORM_MOVE
    Documentum internal use
    See Also:
      - Constant Field Values

  - ### COPY_OPTION_DONT_MARK_SYMBOLIC_LABELS

    static final int COPY_OPTION_DONT_MARK_SYMBOLIC_LABELS
    Documentum internal use
    See Also:
      - Constant Field Values

  - ### COPY_OPTIONS_PERFORM_MOVE_AND_DONT_MARK_SYMOLIC_LABELS

    static final int COPY_OPTIONS_PERFORM_MOVE_AND_DONT_MARK_SYMOLIC_LABELS
    Documentum internal use
    See Also:
      - Constant Field Values

- ## Method Details

  - ### getCopyPreference

    int getCopyPreference() throws DfException
    Returns an integer representing the copy option settings for the operation.

    Possible values are:

              1 COPY_REFERENCE - Reference existing children when parent is copied.
              2 COPY_COPY - Create new copies of referenced children when parent is copied.

    Returns:
      an int representing the copy option settings for the operation.
    Throws:
      `DfException`

  - ### getCopyOptionsFlag

    int getCopyOptionsFlag() throws DfException
    Returns the current copy option settings. These are intended for internal use.

    Currently there are three choices:

         1 COPY_OPTION_PERFORM_MOVE to indicate that the copy is performed on behalf of move.

         2 COPY_OPTION_DONT_MARK_SYMBOLIC_LABELS to specify that when the copy of object is done, don't copy
         the symbolic labels of the original object.

         3 COPY_OPTIONS_PERFORM_MOVE_AND_DONT_MARK_SYMOLIC_LABELS to specify both,perform move
         and dont mark symbolic labels on the copy object

    Returns:
      an int representing the present copy operation options.
    Throws:
      `DfException`

  - ### getDestinationFolderId

    IDfId getDestinationFolderId() throws DfException
    Returns the repository object ID of the destination folder for the copy operation. This is the folder where, by default, new objects will be created. The folder location may be overridden for individual nodes using setDestinationFolderId() of DfOperationNode.
    Returns:
      repository ID of the default destination folder for the operation.
    Throws:
      `DfException`
    See Also:
      - `IDfFolder`

  - ### setDestinationFolderId

    void setDestinationFolderId(IDfId folderId) throws DfException
    Sets the repository object ID for the destination folder for the copy operation. This is the folder where, by default, new objects will be created. The folder location may be overridden for individual nodes using setDestinationFolderId() of DfOperationNode.
    Parameters:
      `folderId` - - IDfId destination repository folder / cabinet Id.
    Throws:
      `DfException`
    See Also:
      - `IDfFolder`

  - ### getDeepFolders

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

  - ### setDeepFolders

    void setDeepFolders(boolean deepFolders) throws DfException
    When working with folders, copy the folder and all of its descendants. Boolean value. False indicates just copy the root folder. True indicates copy folder and its descendants. Default is true.
    Parameters:
      `deepFolders` - `true` if deep copy of folder needs to be performed, `false` otherwise.
    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`

  - ### getNewObjects

    IDfList getNewObjects() throws DfException
    Returns the list of unique new objects created as a result of this operation. Each entry in the list is an IDfSysObject.
    Returns:
      returns the list of unique new objects created as a result of this operation.
    Throws:
      `DfException`
    See Also:
      - `IDfSysObject`

  - ### setCopyPreference

    void setCopyPreference(int copyPreference)
    Sets an integer representing the copy option settings for the operation.

    Possible values are:

              1 COPY_REFERENCE - Reference existing children when parent is copied.
              2 COPY_COPY - Create new copies of referenced children when parent is copied.

    Default is COPY_COPY
    Parameters:
      `copyPreference` - int representing the copy preference settings for the operation.

  - ### setRetainStorageAreas

    void setRetainStorageAreas(boolean retainStorageAreas)
    Determine if the storage area of the primary content and renditions for the new object should be the same as the original objects rather than the default storage area set for the primary content of the new object. i.e. if the original object has rendition A in storage A and rendition B in storage B, then the new object's renditions must be in similar storage.

    True indicates that storage area of the renditions and primary content of the new object should be the same as the original object. Default is false.
    Parameters:
      `retainStorageAreas` - `true` if the storage area of the renditions and primary content of the new object should be the same as the original object, `false` otherwise.

  - ### shouldRetainStorageAreas

    boolean shouldRetainStorageAreas()
    Determine if the storage area of the primary content and renditions of the new object should be the same as the original objects rather than the default storage area set for the primary content of the new object; that is, if the original object has rendition A in storage A and rendition B in storage B, then the new object's renditions must also be in similar storage.
    Returns:
      `true` if the storage area of the renditions and primary content of the new object is set to be same as the original object, `false` otherwise.