Package com.emc.documentum.rest.dfc

# Interface LifecycleManager

public interface LifecycleManager
The lifecycle manager

- ## Method Summary

  Modifier and Type
  Method
  Description
  `ObjectLifecycle`
  `attachLifecycle(String objectId, String lifecycleId, String state, String aliasSetName)`
  Attach a lifecycle to the object The operation is not allowed to be put in an user transaction.
  `ObjectLifecycle`
  `cancelScheduledDemote(String objectId, Date schedule)`
  Cancel a scheduled demotion The operation is not allowed to be put in an user transaction.
  `ObjectLifecycle`
  `cancelScheduledPromote(String objectId, Date schedule)`
  Cancel a scheduled promotion The operation is not allowed to be put in an user transaction.
  `ObjectLifecycle`
  `cancelScheduledResume(String objectId, Date schedule)`
  Cancel a scheduled resumption The operation is not allowed to be put in an user transaction.
  `ObjectLifecycle`
  `cancelScheduledSuspend(String objectId, Date schedule)`
  Cancel a scheduled suspension The operation is not allowed to be put in an user transaction.
  `ObjectLifecycle`
  `demote(String objectId, boolean toBase, Date schedule)`
  Demote the object to the previous normal lifecycle state The operation is not allowed to be put in an user transaction.
  `void`
  `detachLifecycle(String objectId)`
  Detach the lifecycle from the object The operation is not allowed to be put in an user transaction.
  `com.emc.documentum.rest.dfc.impl.query.LifecycleQueryTemplate`
  `getAttachableQueryTemplateByObjectId(String objectId, com.emc.documentum.rest.dfc.impl.query.LifecycleQueryTemplate template)`
  Get the paged result of the attachable lifecycles for a specified object id The operation is not allowed to be put in an user transaction.
  `com.emc.documentum.rest.dfc.impl.query.LifecycleQueryTemplate`
  `getAttachableQueryTemplateByObjectType(String typeName, com.emc.documentum.rest.dfc.impl.query.LifecycleQueryTemplate template)`
  Get the paged result of the attachable lifecycles for a specified object type The operation is not allowed to be put in an user transaction.
  `Lifecycle`
  `getLifecycle(String id)`
  Get the `Lifecycle` by the id
  `ObjectLifecycle`
  `getObjectLifecycle(String objectId)`
  Get the current object lifecycle state
  `ObjectLifecycle`
  `promote(String objectId, boolean force, boolean trial, Date schedule)`
  Promote the object to the next normal lifecycle state The operation is not allowed to be put in an user transaction.
  `ObjectLifecycle`
  `resume(String objectId, boolean toBase, boolean force, boolean trial, Date schedule)`
  Resume the object to the normal lifecycle state The operation is not allowed to be put in an user transaction.
  `ObjectLifecycle`
  `suspend(String objectId, boolean force, boolean trial, Date schedule)`
  Suspend the object to the exceptional lifecycle state The operation is not allowed to be put in an user transaction.

- ## Method Details

  - ### getLifecycle

    Lifecycle getLifecycle(String id) throws com.documentum.fc.common.DfException
    Get the `Lifecycle` by the id
    Parameters:
      `id` - the id of the lifecycle
    Returns:
      the lifecycle object
    Throws:
      `com.documentum.fc.common.DfException` - the exceptions during the operation

  - ### getAttachableQueryTemplateByObjectId

    com.emc.documentum.rest.dfc.impl.query.LifecycleQueryTemplate getAttachableQueryTemplateByObjectId(String objectId, com.emc.documentum.rest.dfc.impl.query.LifecycleQueryTemplate template) throws com.documentum.fc.common.DfException
    Get the paged result of the attachable lifecycles for a specified object id The operation is not allowed to be put in an user transaction.
    Parameters:
      `objectId` - the id of the object
      `template` - the LifecycleQueryTemplate instance
    Returns:
      the query template
    Throws:
      `com.documentum.fc.common.DfException` - the exceptions during the operation

  - ### getAttachableQueryTemplateByObjectType

    com.emc.documentum.rest.dfc.impl.query.LifecycleQueryTemplate getAttachableQueryTemplateByObjectType(String typeName, com.emc.documentum.rest.dfc.impl.query.LifecycleQueryTemplate template) throws com.documentum.fc.common.DfException
    Get the paged result of the attachable lifecycles for a specified object type The operation is not allowed to be put in an user transaction.
    Parameters:
      `typeName` - the name of the object type
      `template` - the LifecycleQueryTemplate instance
    Returns:
      the query template
    Throws:
      `com.documentum.fc.common.DfException` - the exceptions during the operation

  - ### attachLifecycle

    ObjectLifecycle attachLifecycle(String objectId, String lifecycleId, String state, String aliasSetName) throws com.documentum.fc.common.DfException
    Attach a lifecycle to the object The operation is not allowed to be put in an user transaction.
    Parameters:
      `objectId` - the id of the object
      `lifecycleId` - the id of the lifecycle
      `state` - the initial state, where the lifecycle will be attached to
      `aliasSetName` - the aliasset name
    Returns:
      the current object lifecycle state
    Throws:
      `com.documentum.fc.common.DfException` - the exceptions during the operation

  - ### detachLifecycle

    void detachLifecycle(String objectId) throws com.documentum.fc.common.DfException
    Detach the lifecycle from the object The operation is not allowed to be put in an user transaction.
    Parameters:
      `objectId` - the object id
    Throws:
      `com.documentum.fc.common.DfException` - the exceptions during the operation

  - ### promote

    ObjectLifecycle promote(String objectId, boolean force, boolean trial, Date schedule) throws com.documentum.fc.common.DfException
    Promote the object to the next normal lifecycle state The operation is not allowed to be put in an user transaction.
    Parameters:
      `objectId` - the object id
      `force` - whether force to promote without check the entry criteria of the state
      `trial` - if true, then just check whether the object can be promoted to the next normal state. the object's current lifecycle state won't be really changed.
      `schedule` - if provided, the promotion will be executed by the schedule time. the schedule format should follow the ISO 8601. e.g. 2013-05-10T19:51:13.559+0800
    Returns:
      the current object lifecycle state
    Throws:
      `com.documentum.fc.common.DfException` - the exceptions during the operation

  - ### demote

    ObjectLifecycle demote(String objectId, boolean toBase, Date schedule) throws com.documentum.fc.common.DfException
    Demote the object to the previous normal lifecycle state The operation is not allowed to be put in an user transaction.
    Parameters:
      `objectId` - the object id
      `toBase` - whether demote to the base state of the lifecycle
      `schedule` - if provided, the demotion will be executed by the schedule time. the schedule format should follow the ISO 8601. e.g. 2013-05-10T19:51:13.559+0800
    Returns:
      the current object lifecycle state
    Throws:
      `com.documentum.fc.common.DfException` - the exceptions during the operation

  - ### suspend

    ObjectLifecycle suspend(String objectId, boolean force, boolean trial, Date schedule) throws com.documentum.fc.common.DfException
    Suspend the object to the exceptional lifecycle state The operation is not allowed to be put in an user transaction.
    Parameters:
      `objectId` - the object id
      `force` - whether force to suspend without check the entry criteria of the state
      `trial` - if true, then just check whether the object can be suspended. the object's current lifecycle state won't be really changed.
      `schedule` - if provided, the suspension will be executed by the schedule time. the schedule format should follow the ISO 8601. e.g. 2013-05-10T19:51:13.559+0800
    Returns:
      the current object lifecycle state
    Throws:
      `com.documentum.fc.common.DfException` - the exceptions during the operation

  - ### resume

    ObjectLifecycle resume(String objectId, boolean toBase, boolean force, boolean trial, Date schedule) throws com.documentum.fc.common.DfException
    Resume the object to the normal lifecycle state The operation is not allowed to be put in an user transaction.
    Parameters:
      `objectId` - the object id
      `toBase` - whether directly resume the object to the base state
      `force` - whether force to resume without check the entry criteria of the state
      `trial` - if true, then just check whether the object can be resumed to the normal state. the object's current lifecycle state won't be really changed.
      `schedule` - if provided, the resumption will be executed by the schedule time. the schedule format should follow the ISO 8601. e.g. 2013-05-10T19:51:13.559+0800
    Returns:
      the current object lifecycle state
    Throws:
      `com.documentum.fc.common.DfException` - the exceptions during the operation

  - ### cancelScheduledPromote

    ObjectLifecycle cancelScheduledPromote(String objectId, Date schedule) throws com.documentum.fc.common.DfException
    Cancel a scheduled promotion The operation is not allowed to be put in an user transaction.
    Parameters:
      `objectId` - the object id
      `schedule` - the previous scheduled time
    Returns:
      the current object lifecycle state
    Throws:
      `com.documentum.fc.common.DfException` - the exceptions during the operation

  - ### cancelScheduledDemote

    ObjectLifecycle cancelScheduledDemote(String objectId, Date schedule) throws com.documentum.fc.common.DfException
    Cancel a scheduled demotion The operation is not allowed to be put in an user transaction.
    Parameters:
      `objectId` - the object id
      `schedule` - the previous scheduled time
    Returns:
      the current object lifecycle state
    Throws:
      `com.documentum.fc.common.DfException` - the exceptions during the operation

  - ### cancelScheduledSuspend

    ObjectLifecycle cancelScheduledSuspend(String objectId, Date schedule) throws com.documentum.fc.common.DfException
    Cancel a scheduled suspension The operation is not allowed to be put in an user transaction.
    Parameters:
      `objectId` - the object id
      `schedule` - the previous scheduled time
    Returns:
      the current object lifecycle state
    Throws:
      `com.documentum.fc.common.DfException` - the exceptions during the operation

  - ### cancelScheduledResume

    ObjectLifecycle cancelScheduledResume(String objectId, Date schedule) throws com.documentum.fc.common.DfException
    Cancel a scheduled resumption The operation is not allowed to be put in an user transaction.
    Parameters:
      `objectId` - the object id
      `schedule` - the previous scheduled time
    Returns:
      the current object lifecycle state
    Throws:
      `com.documentum.fc.common.DfException` - the exceptions during the operation

  - ### getObjectLifecycle

    ObjectLifecycle getObjectLifecycle(String objectId) throws com.documentum.fc.common.DfException
    Get the current object lifecycle state
    Parameters:
      `objectId` - the object id
    Returns:
      the current object lifecycle state
    Throws:
      `com.documentum.fc.common.DfException` - the exceptions during the operation