# ObjectTemplateItemDefinitionType (Complex Type)

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

Supertype: ItemRefinedDefinitionType
TODO Description of the common item handling details, such as display name, read/write access and value and synchronization expressions. These are the parts that are common to both attributes and associations. This is supposed to be used in schemaHandling part and therefore describe the decisions of the system administrator about the way how that attribute or association is used in midPoint.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
ref | property ItemPathType | [1,1] |
displayName | property string | [0,1] |
description | property string | [0,1] |
displayOrder | property int | [0,1] |
limitations | property PropertyLimitationsType | [0,-1] |
matchingRule | property QName | [0,1] |
valueEnumerationRef | reference ObjectReferenceType | [0,1] | Reference to an object that directly or indirectly represents possible values for this item.
tolerant | property boolean | [0,1] |
tolerantValuePattern | property string | [0,-1] |
intolerantValuePattern | property string | [0,-1] |
emphasized | property boolean | [0,1] | Set true for definitions that are more important than others and that should be emphasized during presentation.
deprecated | property boolean | [0,1] | This setting can be used to control the value of "deprecated" flag determined from the schema.
experimental | property boolean | [0,1] | This setting can be used to control the value of "experimental" flag determined from the schema.
mapping | container ObjectTemplateMappingType | [0,-1] | Defines how any of the object property value should be constructed.

- ### Items

  - #### ref

    Flags: RAM,runtime

    Multiplicity: [1,1]

  - #### displayName

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### description

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### displayOrder

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### limitations

    Flags: RAM,runtime

    Multiplicity: [0,-1]

  - #### matchingRule

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### valueEnumerationRef

    Flags: RAM

    Multiplicity: [0,1]

    Reference to an object that directly or indirectly represents possible values for this item. We do not define here what exactly the object has to be. It can be a lookup table, script that dynamically produces the values or anything similar. The object must produce the values of the correct type for this item otherwise an error occurs.

  - #### tolerant

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### tolerantValuePattern

    Flags: RAM,runtime

    Multiplicity: [0,-1]

  - #### intolerantValuePattern

    Flags: RAM,runtime

    Multiplicity: [0,-1]

  - #### emphasized

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Set true for definitions that are more important than others and that should be emphasized during presentation. E.g. the emphasized definitions will always be displayed in the user interfaces (even if they are empty), they will always be included in the dumps, etc.

  - #### deprecated

    Flags: RAM,runtime

    Multiplicity: [0,1]

    This setting can be used to control the value of "deprecated" flag determined from the schema. I.e. it can be used to override the value taken from the schema. E.g. it can be used to "unmark" a deprecated item, so it will behave as normal, non-deprecated item. This may be used as a temporary measure during the period of migrating the configuration to non-deprecated setting.

  - #### experimental

    Flags: RAM,runtime

    Multiplicity: [0,1]

    This setting can be used to control the value of "experimental" flag determined from the schema. I.e. it can be used to override the value taken from the schema. E.g. it can be used to "unmark" an experimental item, so it will behave as normal, non-experimental item. USE WITH CARE. Experimental items are marked as experimental for a reason. When those items are "unmarked", they will not get any less experimental.

  - #### mapping

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Defines how any of the object property value should be constructed. It can contain fixed value or an expression. In case an expression is used following variables should be set: $user - The user object being created. $account - (optional) the account from which was the user created (if present)