Package com.emc.documentum.rest.dfc

# Interface VirtualDocumentManager

public interface VirtualDocumentManager
The virtual document manager.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `VirtualDocumentSnapshot`
  `createSnapshotFromExistingVirtualDocument(VirtualDocumentSnapshot vdSnapshot, String bindingLabel, boolean includeBroken, boolean frozen, AttributeView attributeView)`
  Create a virtual document snapshot from existing virtual document
  `VirtualDocumentSnapshot`
  `createSnapshotFromScratch(VirtualDocumentSnapshot vdSnapshot, String bindingLabel, boolean includeBroken, boolean frozen, AttributeView attributeView)`
  Create a virtual document snapshot from scratch
  `VirtualDocumentNode`
  `createVirtualDocumentNode(String parentId, VirtualDocumentNode vdNode)`
  Create a direct child node of virtual document.
  `VirtualDocumentSnapshot`
  `freeze(String snapshotId)`
  Freeze a snapshot
  `VirtualDocumentSnapshot`
  `getSnapshot(String snapshotId, AttributeView attributeView)`
  Get virtual document snapshot
  `VirtualDocumentNode`
  `getVirtualDocumentNode(String parentId, String nodeId, String nodeObjectId, AttributeView attributeView)`
  Get single document node and corresponding sysobject if nodeObjectId is present.
  `Page<VirtualDocumentNode>`
  `getVirtualDocumentNodes(String objectId, String vdmNumber, String nodeObjectId, String bindingLabel, boolean followAssembly, Boolean includeBroken, boolean mandatoryOnly, int depth, int page, int itemsPerPage)`
  Get the virtual document nodes from the root or the sub node
  `Page<VirtualDocumentNode>`
  `getVirtualDocumentNodes(String objectId, String vdmNumber, String nodeObjectId, String bindingLabel, boolean followAssembly, Boolean includeBroken, boolean mandatoryOnly, AttributeView attributeView, int depth, int page, int itemsPerPage)`
  Get the virtual document nodes from the root or the sub node
  `void`
  `removeSnapshot(String snapshotId)`
  The object id of the snapshot to remove
  `void`
  `removeVirtualDocumentNode(String parentId, String nodeId)`
  Remove a virtual document node
  `void`
  `unfreeze(String snapshotId)`
  Unfreeze a snapshot
  `VirtualDocumentNode`
  `updateVirtualDocumentNode(String containmentId, VirtualDocumentNode vdNode)`
  Update a virtual document node.

- ## Method Details

  - ### getVirtualDocumentNodes

    Page<VirtualDocumentNode> getVirtualDocumentNodes(String objectId, String vdmNumber, String nodeObjectId, String bindingLabel, boolean followAssembly, Boolean includeBroken, boolean mandatoryOnly, int depth, int page, int itemsPerPage) throws com.documentum.fc.common.DfException
    Get the virtual document nodes from the root or the sub node
    Parameters:
      `objectId` - The object id of the virtual document, or the assembly object id
      `vdmNumber` - The vdm number of the sub-node, e.g., 1.2.3, null or empty string means from the root node
      `nodeObjectId` - The object id of the node relative to the vdmNumber
      `bindingLabel` - The version label to use to resolve late bound nodes
      `followAssembly` - The follow-assembly property determines whether the server selects component descendants using the containment objects or a snapshot associated with the component. Only when follow-assembly is true and there is a snapshot, then the server selects components from the snapshot.
      `includeBroken` - Specifies whether to display nodes with broken bindings using the CURRENT label.
      `mandatoryOnly` - whether return mandatory attributes only
      `depth` - To what depth level the virtual document hierarchy will be returned. -1 means returh the whole vd tree.
      `page` - The page number
      `itemsPerPage` - How many nodes will be returned per page
    Returns:
      The nodes of the virtual document
    Throws:
      `com.documentum.fc.common.DfException` - any exceptions during get

  - ### getVirtualDocumentNodes

    Page<VirtualDocumentNode> getVirtualDocumentNodes(String objectId, String vdmNumber, String nodeObjectId, String bindingLabel, boolean followAssembly, Boolean includeBroken, boolean mandatoryOnly, AttributeView attributeView, int depth, int page, int itemsPerPage) throws com.documentum.fc.common.DfException
    Get the virtual document nodes from the root or the sub node
    Parameters:
      `objectId` - The object id of the virtual document, or the assembly object id
      `vdmNumber` - The vdm number of the sub-node, e.g., 1.2.3, null or empty string means from the root node
      `nodeObjectId` - The object id of the node relative to the vdmNumber
      `bindingLabel` - The version label to use to resolve late bound nodes
      `followAssembly` - The follow-assembly property determines whether the server selects component descendants using the containment objects or a snapshot associated with the component. Only when follow-assembly is true and there is a snapshot, then the server selects components from the snapshot.
      `includeBroken` - Specifies whether to display nodes with broken bindings using the CURRENT label.
      `mandatoryOnly` - whether return mandatory attributes only
      `attributeView` - the attribute view
      `depth` - To what depth level the virtual document hierarchy will be returned. -1 means returh the whole vd tree.
      `page` - The page number
      `itemsPerPage` - How many nodes will be returned per page
    Returns:
      The nodes of the virtual document
    Throws:
      `com.documentum.fc.common.DfException` - any exceptions during get

  - ### createVirtualDocumentNode

    VirtualDocumentNode createVirtualDocumentNode(String parentId, VirtualDocumentNode vdNode) throws com.documentum.fc.common.DfException
    Create a direct child node of virtual document. These attributes could be specified during creating a new virtual document node, [chronicle-id, order-number, binding, override-late-binding, copy-behavior, follow-assembly]
    Parameters:
      `parentId` - the parent of the node (the virtual document object id)
      `vdNode` - virtual document node
    Returns:
      new created virtual document node
    Throws:
      `com.documentum.fc.common.DfException` - any exceptions during creation

  - ### getVirtualDocumentNode

    VirtualDocumentNode getVirtualDocumentNode(String parentId, String nodeId, String nodeObjectId, AttributeView attributeView) throws com.documentum.fc.common.DfException
    Get single document node and corresponding sysobject if nodeObjectId is present. Pay attention that the node to get is not in virtual document context when nodeObjectId is not present, which means only basic attributes will show: [parent-id, chronicle-id, relationship-id, order-number, binding, override-late-binding, copy-behavior, follow-assembly] When nodeObjectId is present, it will populate the properties of the corresponding sysobject as well.
    Parameters:
      `parentId` - the parent of the node (the virtual document object id)
      `nodeId` - the node id used to get dmr_containment instance, to populate attributes of virtual document node
      `nodeObjectId` - the sysobject id for the virtual document node in the virtual document context.
      `attributeView` - the attribute view
    Returns:
      virtual document node
    Throws:
      `com.documentum.fc.common.DfException` - any exceptions during get virtual document node

  - ### updateVirtualDocumentNode

    VirtualDocumentNode updateVirtualDocumentNode(String containmentId, VirtualDocumentNode vdNode) throws com.documentum.fc.common.DfException
    Update a virtual document node. Pay attention that the node to update is not in virtual document context. And only these attributes are updatable: [order-number, binding, override-late-binding, copy-behavior, follow-assembly]
    Parameters:
      `containmentId` - the containment id used to specify the dmr_containment instance, which is actually updated
      `vdNode` - the submitted virtual document node
    Returns:
      the updated virtual document node
    Throws:
      `com.documentum.fc.common.DfException` - any exceptions during update

  - ### removeVirtualDocumentNode

    void removeVirtualDocumentNode(String parentId, String nodeId) throws com.documentum.fc.common.DfException
    Remove a virtual document node
    Parameters:
      `parentId` - the parent of the node (the virtual document object id)
      `nodeId` - the node id used to specify the dmr_containment instance, which is actually deleted.
    Throws:
      `com.documentum.fc.common.DfException` - any exceptions during delete

  - ### createSnapshotFromScratch

    VirtualDocumentSnapshot createSnapshotFromScratch(VirtualDocumentSnapshot vdSnapshot, String bindingLabel, boolean includeBroken, boolean frozen, AttributeView attributeView) throws com.documentum.fc.common.DfException
    Create a virtual document snapshot from scratch
    Parameters:
      `vdSnapshot` - the virtual document snapshot to create
      `bindingLabel` - the binding label to construct virtual document
      `includeBroken` - whether to include broken virtual document nodes
      `frozen` - whether to freeze new created snapshot
      `attributeView` - attribute view
    Returns:
      virtual document snapshot
    Throws:
      `com.documentum.fc.common.DfException` - any exceptions during creation

  - ### createSnapshotFromExistingVirtualDocument

    VirtualDocumentSnapshot createSnapshotFromExistingVirtualDocument(VirtualDocumentSnapshot vdSnapshot, String bindingLabel, boolean includeBroken, boolean frozen, AttributeView attributeView) throws com.documentum.fc.common.DfException
    Create a virtual document snapshot from existing virtual document
    Parameters:
      `vdSnapshot` - the virtual document snapshot to create
      `bindingLabel` - the binding label to construct virtual document
      `includeBroken` - whether to include broken virtual document nodes
      `frozen` - whether to freeze new created snapshot
      `attributeView` - attribute view
    Returns:
      virtual document snapshot
    Throws:
      `com.documentum.fc.common.DfException` - any exceptions during creation

  - ### getSnapshot

    VirtualDocumentSnapshot getSnapshot(String snapshotId, AttributeView attributeView) throws com.documentum.fc.common.DfException
    Get virtual document snapshot
    Parameters:
      `snapshotId` - object id of virtual document snapshot
      `attributeView` - the attribute view
    Returns:
      instance of virtual document snapshot
    Throws:
      `com.documentum.fc.common.DfException` - any exception during get snapshot

  - ### removeSnapshot

    void removeSnapshot(String snapshotId) throws com.documentum.fc.common.DfException
    The object id of the snapshot to remove
    Parameters:
      `snapshotId` - the object id of the snapshot
    Throws:
      `com.documentum.fc.common.DfException` - any exception during disassemble snapshot

  - ### freeze

    VirtualDocumentSnapshot freeze(String snapshotId) throws com.documentum.fc.common.DfException
    Freeze a snapshot
    Parameters:
      `snapshotId` - the object id of the snapshot
    Returns:
      frozen snapshot object
    Throws:
      `com.documentum.fc.common.DfException` - any exception during freeze snapshot

  - ### unfreeze

    void unfreeze(String snapshotId) throws com.documentum.fc.common.DfException
    Unfreeze a snapshot
    Parameters:
      `snapshotId` - the object id of the snapshot
    Throws:
      `com.documentum.fc.common.DfException` - any exception during unfreeze snapshot