Package com.documentum.operations

# Interface IDfCheckinOperation

All Superinterfaces:
  `IDfOperation`

public interface IDfCheckinOperation extends IDfOperation
IDfCheckinOperation performs a complete client checkin of one or more nodes. This includes detecting compound file references, creating new Docbase objects for referenced files, uploading content files to the server, performing the actual checkins/saves, updating the local client registry, and cleaning up local content files.

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

Any objects added to the checkin operation that have not been checked out, are not processed. No error is returned for non-checked out objects.

Entirely new objects may be created in the Docbase as the result of a checkin operation. This is possible because of compound references. For example, an XML document can be checked out, and a link added to an image file. If the image file is not already known to be from the docbase (for example, itself checked out), the image file may be imported as a new object when the XML document is checked in. OLE compound documents can also cause a new object to be created during check in processing (for example, a Word document adds a OLE reference to an Excel spreadsheet).

If an existing compound document reference is removed for a checked out object, the orphaned referenced document is still checked in when the parent compound document is checked in, but the relationship between the two is broken, with the orphaned document appearing as a root node rather than as a child node in the checkin operation.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `BRANCH_VERSION`
  `static final int`
  `NEXT_MAJOR`
  `static final int`
  `NEXT_MINOR`
  `static final int`
  `SAME_VERSION`
  `static final int`
  `VERSION_NOT_SET`

  ### 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
  `IDfAcsTransferPreferences`
  `getAcsTransferPreferences()`
  Returns the `IDfAcsTransferPreferences` object to be used.
  `int`
  `getCheckinVersion()`
  Returns an integer indicating how versioning should be handled on check in.
  `String`
  `getExternalVariable(String varName)`
  Returns the value of an external variable.
  `boolean`
  `getKeepLocalFile()`
  Returns a boolean value indicating whether or not the local content file should be preserved or deleted as part of the operation.
  `int`
  `getMacOption()`
  Returns the setting for Mac handling for this 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.
  `boolean`
  `getRetainLock()`
  Returns true if the docbase object for this node should keep the lock after check in.
  `String`
  `getVersionLabels()`
  Returns the symbolic version labels that will be applied when the node is checked in.
  `void`
  `setAcsTransferPreferences(IDfAcsTransferPreferences acsTransferPreferences)`
  Sets the `IDfAcsTransferPreferences` object to be used.
  `void`
  `setCheckinVersion(int checkinVersion)`
  Returns an integer indicating how versioning should be handled on check in.
  `void`
  `setExternalVariable(String varName, String value)`
  Sets a variable that will be available to the XML application's configuration file as an <external_variable>.
  `void`
  `setKeepLocalFile(boolean keepFile)`
  Sets a boolean value indicating whether or not the local content file should be preserved or deleted as part of the operation.
  `void`
  `setLinkBase(String linkBase)`
  Sets the link base to be used during import operation.
  `void`
  `setMacOption(int option)`
  Sets the Mac behavior options for this operation.
  `void`
  `setRetainLock(boolean retainLock)`
  Sets whether or not the docbase object for this node should keep the lock after check in.
  `void`
  `setVersionLabels(String newVersionLabels)`
  Sets the symbolic version labels that will be applied when the node is checked in.

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

  - ### VERSION_NOT_SET

    static final int VERSION_NOT_SET
    See Also:
      - Constant Field Values

  - ### NEXT_MAJOR

    static final int NEXT_MAJOR
    See Also:
      - Constant Field Values

  - ### NEXT_MINOR

    static final int NEXT_MINOR
    See Also:
      - Constant Field Values

  - ### SAME_VERSION

    static final int SAME_VERSION
    See Also:
      - Constant Field Values

  - ### BRANCH_VERSION

    static final int BRANCH_VERSION
    See Also:
      - Constant Field Values

- ## Method Details

  - ### getVersionLabels

    String getVersionLabels() throws DfException
    Returns the symbolic version labels that will be applied when the node is checked in. These labels should NOT include any implicit version labels (for example, 1.0).
    Returns:
      comma separated list of symbolic version labels.
    Throws:
      `DfException`
    See Also:
      - `IDfSysObject.getVersionLabel(int)`

  - ### setVersionLabels

    void setVersionLabels(String newVersionLabels) throws DfException
    Sets the symbolic version labels that will be applied when the node is checked in. These labels should NOT include any implicit version labels (for example, 1.0).
    Parameters:
      `newVersionLabels` - comma separated list of symbolic version labels.
    Throws:
      `DfException`
    See Also:
      - `IDfSysObject.getVersionLabel(int)`

  - ### getKeepLocalFile

    boolean getKeepLocalFile() throws DfException
    Returns a boolean value indicating whether or not the local content file should be preserved or deleted as part of the operation.
    Returns:
      if true, the local content file will not be deleted as part of the operation.
    Throws:
      `DfException`

  - ### setKeepLocalFile

    void setKeepLocalFile(boolean keepFile) throws DfException
    Sets a boolean value indicating whether or not the local content file should be preserved or deleted as part of the operation.
    Parameters:
      `keepFile` - if true the local content file will not be deleted as part of the operation.
    Throws:
      `DfException`

  - ### getRetainLock

    boolean getRetainLock() throws DfException
    Returns true if the docbase object for this node should keep the lock after check in.
    Returns:
      true if the docbase object lock will be retained after check in.
    Throws:
      `DfException`

  - ### setRetainLock

    void setRetainLock(boolean retainLock) throws DfException
    Sets whether or not the docbase object for this node should keep the lock after check in.
    Parameters:
      `retainLock` - true to retain lock; false to release lock after check in.
    Throws:
      `DfException`

  - ### getCheckinVersion

    int getCheckinVersion() throws DfException
    Returns an integer indicating how versioning should be handled on check in.

        Possible values include:
                 -1 VERSION_NOT_SET - No version option has been specified yet for this node.
                  0  NEXT_MAJOR - Object will recieve the next major version number.
                  1  NEXT_MINOR - Object will recieve the next minor version number.
                  2  SAME_VERSION - The version number for the object will remain unchanged.
                  3  BRANCH_VERSION - A branch version number will be used for the object.

    Returns:
      value indicating how versioning will be handled on check in.
    Throws:
      `DfException`

  - ### setCheckinVersion

    void setCheckinVersion(int checkinVersion) throws DfException
    Returns an integer indicating how versioning should be handled on check in.

        Possible values include:
                 -1 VERSION_NOT_SET - No version option has been specified yet for this node.
                  0  NEXT_MAJOR - Object will recieve the next major version number.
                  1  NEXT_MINOR - Object will recieve the next minor version number.
                  2  SAME_VERSION - The version number for the object will remain unchanged.
                  3  BRANCH_VERSION - A branch version number will be used for the object.

    Parameters:
      `checkinVersion` - VERSION_NOT_SET, NEXT_MAJOR, NEXT_MINOR, SAME_VERSION or BRANCH_VERSION.
    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`

  - ### setExternalVariable

    void setExternalVariable(String varName, String value)
    Sets a variable that will be available to the XML application's configuration file as an <external_variable>.
    Here is an example of how the external variable is used in the XML configuration file:
    <external_variables>
    <external_variable>
    <name>CITY</name>
    <default>Vancouver</default>
    </external_variable>
    </external_variables>
    ...
    <metadata>
    <dctmattr>
    <name>city</name>
    <template><var name="CITY"/></template>
    </dctmattr>
    </metadata>
    If a variable is declared in the XMl configuration file, but is not set via setExternalVariable, the default value of the variable will be used.
    Parameters:
      `varName` - The name that the variable will be available as in the XMl configuration file.
      `value` - The value of the variable.

  - ### getExternalVariable

    String getExternalVariable(String varName)
    Returns the value of an external variable.
    Parameters:
      `varName` - The name of the external variable.
    Returns:
      The value of the variable.

  - ### setLinkBase

    void setLinkBase(String linkBase)
    Sets the link base to be used during import operation. During export and check out operations, user can patch external references by specifying link base and cabinet folder path in setBaseFolder() method in IDfExportOperation or IDfCheckoutOperation During check in operation, when a link base is encountered in external references, DFC will ignore the link base portion (which matches the link base provided in this method) in the path and will try and identify the object corresponding to the cabinet-folder path following the link base. For e.g. assume that the content file has link path corresponding to "http://www.somecompany.com/WebsiteA/ProductABC/Images/product.jpg". During check in operation user can specify link base as "http://www.somecompany.com". The check in operation processing will ignore the link base "http://www.somecompany.com" and will try to find the object corresponding to "/WebsiteA/ProductABC/Images/product.jpg" path.
    Parameters:
      `linkBase` - to be used during check in operation

  - ### getMacOption

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

        Possible values include:
                        IGNORE_RESOURCE_FORK - No resource fork will be stored in the docbase, even
                                     if the resource fork file path has been specified
                        USE_RESOURCE_FORK_IF_AVAILABLE - Resource fork will be set to the docbase if supplied
                                               by the caller of the operation
                        REQUIRE_RESOURCE_FORK - Resource fork is required. An error will be generated if
                                      the resource fork is not made available.
                        GENERATE_RESOURCE_FORK - A resource fork will be generated if it is not explicitly
                                       available.

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

  - ### setMacOption

    void setMacOption(int option)
    Sets the Mac behavior options for this operation. The appledouble option may be overridden for individual nodes using setMacOption of IDfCheckinNode.

        Possible values include:
                        IGNORE_RESOURCE_FORK - No resource fork will be stored in the docbase, even
                                     if resource fork file path has been specified
                        USE_RESOURCE_FORK_IF_AVAILABLE - Resource fork will be set to the docbase if supplied
                                               by the caller of the operation
                        REQUIRE_RESOURCE_FORK - Resource fork is required. An error will be generated if
                                      resource fork is not made available.
                        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

  - ### getAcsTransferPreferences

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

  - ### setAcsTransferPreferences

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