# MappingEvaluationTraceType (Complex Type)

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

Supertype: TraceType
Trace for mapping evaluation operation.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
text | property string | [0,-1] | Unstructured text information to be used when existing structure is not sufficient.
mappingKind | property MappingKindType | [0,1] |
mapping | container MappingType | [0,1] | Defines how a value of a property (or attribute) should be constructed.
containingObjectRef | reference ObjectReferenceType | [0,1] |
timeFrom | property dateTime | [0,1] |
timeTo | property dateTime | [0,1] |
nextRecomputeTime | property dateTime | [0,1] |
timeConstraintValid | property boolean | [0,1] |
conditionResultOld | property boolean | [0,1] |
conditionResultNew | property boolean | [0,1] |
source | container MappingSourceEvaluationTraceType | [0,-1] | Information about mapping source during evaluation.
output | property DeltaSetTripleType | [0,1] |
textTrace | property string | [0,1] |

- ### Items

  - #### text

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Unstructured text information to be used when existing structure is not sufficient.

  - #### mappingKind

    Flags: RAM,runtime,AVals:6

    Multiplicity: [0,1]

  - #### mapping

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Defines how a value of a property (or attribute) should be constructed. The value may be static or constructed as an result of evaluating an expression. This structure also defines a method how to merge several value construction definitions, how to behave if a property already has a value, etc. This is reusable data structure, used in schemaHandling, roles and it may also be used in may other places. Motivation: We need to construct attribute or property values on many places in midPoint. E.g. we need that in roles to generate dynamic account attribute values, we need that to define "templates" for identifiers and default values for attributes when creating a new account. We also need that to specify values when creating a new user (user templates). Having the same data structure for all of these cases may simplify the code, as it all can be handled by a generic library reused in many places through the system.

  - #### containingObjectRef

    Flags: RAM

    Multiplicity: [0,1]

  - #### timeFrom

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### timeTo

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### nextRecomputeTime

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### timeConstraintValid

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### conditionResultOld

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### conditionResultNew

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### source

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Information about mapping source during evaluation.

  - #### output

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### textTrace

    Flags: RAM,runtime

    Multiplicity: [0,1]