# ObjectReferenceType (Complex Type)

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

Reference to an object. It contains OID of the object that it refers to.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
description | property string | [0,1] | Free-form textual description of the object.
documentation | property string | [0,1] | Technical documentation for a particular object or construct.
filter | property SearchFilterType | [0,1] | Filter that can be used to dynamically lookup the reference OID e.
resolutionTime | property EvaluationTimeType | [0,1] | Definition of the "time" when the reference will be resolved.
referentialIntegrity | property ReferentialIntegrityType | [0,1] | Definition of the behavior related to non-existence of object with specified target OID.
targetName | property PolyStringType | [0,1] | Cached name of the target object.

- ### Items

  - #### description

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Free-form textual description of the object. It is supposed to describe the object or a construct that it is attached to.

    This information may be presented to midPoint users, even to ordinary end users. For example role description may be presented to users when they are selecting roles to request. Therefore the description should be written in a language that the users can understand.

    Description is assumed to be a plan, non-formatted text. Amount of white space is considered insignificant. E.g. leading and trailing white space may be skipped, multiple spaces can be collapsed to one and so on.

  - #### documentation

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Technical documentation for a particular object or construct.

    The purpose of this element is to document system configuration and behavior. The documentation will not be presented to end users. In fact, it will probably not be presented at all in midPoint user interface. This documentation element is supposed to be a part of the technical documentation of midPoint deployment. The tools than generate deployment configuration will look for these elements and combine them to compiled documentation document.

    AsciiDoc formatting is assumed for this element. Any leading or trailing whitespace is skipped. Indentation equivalent to he indentation of the first non-blank line of text is also skipped.

  - #### filter

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Filter that can be used to dynamically lookup the reference OID e.g. during imports. It must not be used for normal operations. The filter may be stored in the repository to avoid data loss. But even if it is stored it will not be used beyond initial import or unless explicitly requested (e.g. by setting resolutionTime).

    Note: The filter will NOT be used if the OID in the reference is set. The OID always takes precedence.

  - #### resolutionTime

    Flags: RAM,runtime,AVals:2

    Multiplicity: [0,1]

    Display order:

    Definition of the "time" when the reference will be resolved. Resolving the reference means using the filter to get object(s) or OID(s).

    Import-time resolution means that the reference will be resolved once when the file is imported. OID will be recorded in the reference and then only the OID will be used to follow the reference. This is a very efficient method and it is the default.

    Run-time resolution means that the reference will be resolved every time that the reference is evaluated. This is less efficient but it provides great flexibility as the filter may contain expressions and therefore the reference target may dynamically change.

  - #### referentialIntegrity

    Flags: RAM,runtime,AVals:4

    Multiplicity: [0,1]

    Display order:

    Definition of the behavior related to non-existence of object with specified target OID. (Currently supported only at selected places in midPoint.)

  - #### targetName

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Cached name of the target object. This is an ephemeral value. It is not stored in the repository. It may be computed at object retrieval time or it may not be present at all. This is NOT an authoritative information. Setting it or changing it will not influence the reference meaning. OID is the only authoritative linking mechanism.