Lifecycle Concepts
A lifecycle is a set of linearly connected states that define the stages in an object's life. A state can be a normal state or an exception state. Normal states are used for normal progress through the stages and exception states help to deal with less frequent situations.
A lifecycle is associated with a set of object types and only objects of these types can apply this lifecycle. An object can be associated with at most one lifecycle at a time and it is in exactly one of the states present in the lifecycle. The object can move back and forth between the lifecycle states following the specified conditions and triggering changes in the process.
A state can have entry criteria that must be satisfied for an object to enter that state. When an object is about to enter a state, entry actions specified for that state are executed. Once an object has entered a state, any specified post-entry (post-change) actions are executed. Actions can be predefined actions or custom...