# ResourceObjectReferenceType (Complex Type)

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

Reference to a resource object. This reference has many properties that influence when and how to look for the object. We assume that the search for resource objects is quite expensive, therefore we will need to optimize the number of searches. We also want this reference to be "sticky", e.g. to survive resource object renames.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
objectClass | property QName | [0,1] | Specifies the object class of the referenced object.
filter | property SearchFilterType | [0,1] | The filter used to look for the object.
shadowRef | reference ObjectReferenceType | [0,1] | Reference to shadow that represents the resource object.
resolutionStrategy | property ResourceObjectReferenceResolutionStrategyType | [0,1] | Not implemented yet.
resolutionFrequency | property ResourceObjectReferenceResolutionFrequencyType | [0,1] | The strategy used to resolve resource object references.

- ### Items

  - #### objectClass

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Specifies the object class of the referenced object. This clause for objectClass may be omitted if it can be determined by other means.

  - #### filter

    Flags: RAM,runtime

    Multiplicity: [0,1]

    The filter used to look for the object. This filter does NOT need to contain clauses for resource. This will be automatically added by midPoint.

  - #### shadowRef

    Flags: RAM

    Multiplicity: [0,1]

    Reference to shadow that represents the resource object. If present, then it will be used directly. (Unless resolutionFrequency is ALWAYS.) If not present then the search filter will be used to locate the shadow. (Unless resolutionFrequency is NONE.) In the future, midPoint will store the resolved shadow OID into this field. But this is not yet implemented.

  - #### resolutionStrategy

    Flags: RAM,runtime,AVals:3

    Multiplicity: [0,1]

    Not implemented yet. Search on resource is always executed.

  - #### resolutionFrequency

    Flags: RAM,runtime,AVals:3

    Multiplicity: [0,1]

    The strategy used to resolve resource object references. However, only ALWAYS and NEVER ones are fully implemented. The default ONCE strategy works like ALWAYS: the filter is evaluated but the result is not stored in the definition.