# 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.
enforcement | property PolicyConstraintEnforcementType | [0,1] |
stateBefore | property boolean | [0,1] |
stateAfter | property boolean | [0,1] |
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.

  - #### enforcement

    Flags: RAM,runtime,AVals:3

    Multiplicity: [0,1]

  - #### stateBefore

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### stateAfter

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### constraints

    Flags: RAM,runtime

    Multiplicity: [1,1]

    Non-transitional policy constraints to be evaluated.