Represents a valid lifecycle state of a document lifecycle policy. A document lifecycle policy defines a set of valid lifecycle states for a document, controls the transition of those states, and specifies the actions to be taken and which access permissions to be applied when a document's lifecycle state changes. To define the lifecycle states in a document lifecycle policy, create a DocumentState object for each lifecycle state that you want to define and add it to a DocumentLifecyclePolicy object's DocumentStates collection.

Each lifecycle state must have a name, which is set by the StateName property. Each lifecycle state name must be unique within the lifecycle policy in which it is defined. To specify whether a given lifecycle state can be demoted or not, set its CanBeDemoted property.

The order of the lifecycle states in a document lifecycle policy's DocumentStates collection is important and determines the succession of lifecycle states. When a document that is associated with a document lifecycle policy is created, its initial lifecycle state is the first DocumentState object in the document lifecycle policy's DocumentStates collection. To move a document into the next lifecycle state defined in the document lifecycle policy's DocumentStates collection, call the document's ChangeState method and set its flags parameter to the LifecycleChangeFlags.PROMOTE constant. To move a document into the previous lifecycle state (unless the document's current lifecycle state's CanBeDemoted property is set to false), set the method's flags parameter to DEMOTE.

The template permissions specified by the TemplatePermissions property will be applied during a lifecycle state change if you set the ApplyTemplatePermissions property to true; otherwise the permissions will not be applied. If the ApplyTemplatePermissions property to set to true and you reset a document's lifecycle state, either by calling its ChangeState method and specifying RESET or by calling its Checkin method while the ResetLifecycleOnCheckin property on its document lifecycle policy is set to true, the access permissions will be reset to the access permissions of the initial lifecycle state.


Namespace: FileNet.Api.Events
Assembly: FileNet.Api (in filenet.api.dll)

Syntax

Visual Basic (Declaration)
Public Interface IDocumentState
    Implements IRepositoryObject, IEngineObject, ICloneable, IDependentObject
C#
public interface IDocumentState : IRepositoryObject, IEngineObject, ICloneable, IDependentObject
C++
interface class IDocumentState : IRepositoryObject, IEngineObject, ICloneable, IDependentObject
J#
public interface IDocumentState implements IRepositoryObject, IEngineObject, ICloneable, IDependentObject
JScript
public interface IDocumentState extends IRepositoryObject, IEngineObject, ICloneable, IDependentObject

Remarks

Metadata

Auditable: false
AllowsInstances: true
AllowsSubClasses: false
ClassDefinitionName: None
IsDependent: true
IsHidden: false
Searchable: false
StorageType: ObjectStore
SuperclassName: GenericObject

See Also