# TransitionPolicyConstraintType (Complex Type)

### Namespace: http://midpoint.evolveum.com/xml/ns/public/common/common-3

Supertype: AbstractPolicyConstraintType
Specifies how the inner constraints are to be evaluated with regards to operation start and end state. May not include any transitional constraints itself!

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
name | property string | [0,1] | Identifier of the constraint.
description | property string | [0,1] |
presentation | container PolicyConstraintPresentationType | [0,1] | How should be triggering of this constraint presented, e.
stateBefore | property boolean | [0,1] | Expected inner constraint state before the operation.
stateAfter | property boolean | [0,1] | Expected inner constraint state after the operation.
constraints | container PolicyConstraintsType | [1,1] | Non-transitional policy constraints to be evaluated.

- ### Items

  - #### name

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Identifier of the constraint. It is used when midPoint needs to refer to a specific constraint, e.g. in order to record exception. This element is formally specified as optional, mostly due to the compatibility reasons. But it has to be provided in order for some functionality to work correctly.

  - #### description

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### presentation

    Flags: RAM,runtime

    Multiplicity: [0,1]

    How should be triggering of this constraint presented, e.g. in enforcement messages, in approvals, in certification, in notifications, etc.

  - #### stateBefore

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Expected inner constraint state before the operation. True means the constraint must evaluate to true. False means the constraint must evaluate to false. Unspecified means the constraint is not checked before the operation.

  - #### stateAfter

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Expected inner constraint state after the operation. True means the constraint must evaluate to true. False means the constraint must evaluate to false. Unspecified means the constraint is not checked after the operation.

  - #### constraints

    Flags: RAM,runtime

    Multiplicity: [1,1]

    Non-transitional policy constraints to be evaluated.