# StatePolicyConstraintType (Complex Type)

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

Supertype: AbstractPolicyConstraintType
A constraint that triggers when a object or assignment is in a given state. If both filter and expressions are specified, both must be true in order for constraint to be triggered.

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] |
filter | property SearchFilterType | [0,1] |
expression | property ExpressionType | [0,1] |
messageExpression | property ExpressionType | [0,1] |
executeScript | property ExecuteScriptType | [0,1] |

- ### 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]

  - #### filter

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### expression

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### messageExpression

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### executeScript

    Flags: RAM,runtime

    Multiplicity: [0,1]