# SimulationResultProcessedObjectType (Complex Type)

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

An object that was processed during a particular simulation run.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
transactionId | property string | [0,1] | The transaction this object belongs to.
oid | property string | [0,1] | OID of the object processed.
type | property QName | [0,1] | Type of the object processed.
structuralArchetypeRef | reference ObjectReferenceType | [0,1] | Structural archetype of the object processed.
resourceObjectCoordinates | container ShadowDiscriminatorType | [0,1] | Information about the shadow (if applicable).
name | property PolyStringType | [0,1] | Name of the object processed.
state | property ObjectProcessingStateType | [0,1] | Was the object going to be added, modified, deleted, or unchanged?
eventMarkRef | reference ObjectReferenceType | [0,-1] | Event mark or marks that apply to this operation.
consideredEventMarkRef | reference ObjectReferenceType | [0,-1] | Event mark or marks that were considered regarding this operation.
metricValue | container SimulationProcessedObjectMetricValueType | [0,-1] | Values of non-event-tag-based metrics.
focus | property boolean | [0,1] | Is this the focus?
focusRecordId | property long | [0,1] | For projection-related records, this field denotes the focus record ID to which this projection belongs.
projectionRecords | property int | [0,1] | How many owned projection records are there? Set only for focus records.
before | container ObjectType | [1,1] | The state of the object before the operation.
after | container ObjectType | [1,1] | The assumed state of the object after the operation.
delta | property ObjectDeltaType | [0,1] | The assumed modification of the object.
result | property OperationResultType | [0,1] | Result of the whole operation.
resultStatus | property OperationResultStatusType | [0,1] | Status of the operation.

- ### Items

  - #### transactionId

    Flags: RAM,runtime

    Multiplicity: [0,1]

    The transaction this object belongs to.

  - #### oid

    Flags: RAM,runtime

    Multiplicity: [0,1]

    OID of the object processed. Usually known, even for objects that are to be created.

  - #### type

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Type of the object processed.

  - #### structuralArchetypeRef

    Flags: RAM

    Multiplicity: [0,1]

    Structural archetype of the object processed. Applies only to focal objects (assignment holders). When the simulated change of the archetype itself is reported, the old value is provided here.

  - #### resourceObjectCoordinates

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Information about the shadow (if applicable). When the simulated change of the coordinates themselves is reported, the old value is provided here. TODO reconsider if all information from the type should be used (e.g. tombstone and discriminator order - are they relevant?).

  - #### name

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Name of the object processed. May be null e.g. for shadows that are to be created. When the simulated change of the name itself is reported, the old value is provided here.

  - #### state

    Flags: RAM,runtime,AVals:4

    Multiplicity: [0,1]

    Was the object going to be added, modified, deleted, or unchanged?

  - #### eventMarkRef

    Flags: RAM

    Multiplicity: [0,-1]

    Event mark or marks that apply to this operation.

  - #### consideredEventMarkRef

    Flags: RAM

    Multiplicity: [0,-1]

    Event mark or marks that were considered regarding this operation. (The processed object belongs to the domain of each of them.) TRANSIENT. This information is not stored into repository as the list may be quite large.

  - #### metricValue

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Values of non-event-tag-based metrics. (Not searchable.)

  - #### focus

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Is this the focus?

  - #### focusRecordId

    Flags: RAM,runtime

    Multiplicity: [0,1]

    For projection-related records, this field denotes the focus record ID to which this projection belongs.

  - #### projectionRecords

    Flags: RAM,runtime

    Multiplicity: [0,1]

    How many owned projection records are there? Set only for focus records.

  - #### before

    Flags: elaborate,RAM,runtime

    Multiplicity: [1,1]

    The state of the object before the operation.

  - #### after

    Flags: elaborate,RAM,runtime

    Multiplicity: [1,1]

    The assumed state of the object after the operation. It should hold that "before + delta = after".

  - #### delta

    Flags: RAM,runtime

    Multiplicity: [0,1]

    The assumed modification of the object.

  - #### result

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Result of the whole operation. It is present on "primary" processed objects, for example focus objects for recomputation activity, or shadows from the source resource for synchronization (import, reconciliation, etc) activities. Note that it is no point in providing result or result status on "target" objects on which simulated changes are computed. Because these changes are not executed, they have no real result nor result status. Hence, we provide only a single result per operation, and provide it on the "primary" processed object. If the result is missing, SUCCESS is assumed. The result may be shortened, i.e. some parts may be removed to save space. (Currently, only the root level is kept.)

  - #### resultStatus

    Flags: RAM,runtime,AVals:8

    Multiplicity: [0,1]

    Status of the operation. Present on "primary" processed objects. See the "result" property.