# IterationSpecificationType (Complex Type)

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

Definition of iteration properties for a resource account or other resource objects. Iteration is a process of choosing unique (or otherwise acceptable) values. E.g. it is usually used to generate unique user names.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
maxIterations | property int | [1,1] | Maximum number of iteration attempts.
tokenExpression | property ExpressionType | [0,1] | An expression that will be used to format an iteration token.
preIterationCondition | property ExpressionType | [0,1] | A condition that will be executed prior to iteration.
postIterationCondition | property ExpressionType | [0,1] | A condition that will be executed after the iteration.

- ### Items

  - #### maxIterations

    Flags: RAM,runtime

    Multiplicity: [1,1]

    Maximum number of iteration attempts. The number specifies attempts beyond the first one, which is not considered to be an iteration.

  - #### tokenExpression

    Flags: RAM,runtime

    Multiplicity: [0,1]

    An expression that will be used to format an iteration token.

  - #### preIterationCondition

    Flags: RAM,runtime

    Multiplicity: [0,1]

    A condition that will be executed prior to iteration. If it returns true then the iteration will continue. If it returns false then the iteration will be skipped (as if there is an conflict).

  - #### postIterationCondition

    Flags: RAM,runtime

    Multiplicity: [0,1]

    A condition that will be executed after the iteration. If it returns true then the iteration will be accepted as valid. If it returns false then the iteration will be skipped (as if there is an conflict).