# ResourceObjectFocusSpecificationType (Complex Type)

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

Specification of focus objects corresponding to given resource object type.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
type | property QName | [0,1] | Type of the focus objects.
archetypeRef | reference ObjectReferenceType | [0,1] | Focus archetype corresponding to this resource object type.
assignmentSubtype | property string | [0,1] | Subtype of the assignment to which this resource object is mapped (if applicable).

- ### Items

  - #### type

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Type of the focus objects. The default is derived from associated object type, or UserType (otherwise).

  - #### archetypeRef

    Flags: RAM

    Multiplicity: [0,1]

    Focus archetype corresponding to this resource object type. If specified, the value is enforced upon focus objects that have a projection of this object type linked. It is also used during correlation, i.e. when correlating a resource object of this type, midPoint looks for focus objects having specified archetype. Notes: 1. The archetype must be a structural one (currently). In the future, we may consider allowing multiple (i.e. structural and/or auxiliary) archetypes here. 2. The enforcement means that if the focus has no archetype, the archetype is added to the focus. If it has a different archetype, a policy violation exception is raised. This behavior may change in the future, e.g. this behavior may become configurable. 3. The enforcement is done for _all_ projections, i.e. also the ones that are created by the clockwork. But beware of the timing: if a projection is added during the clockwork run, and that projection enforces an archetype, the effects of this enforcement may be limited during the current clockwork run. For example, if the archetype induces some projections, they might not be created because of the processing in waves. Generally speaking, it is safer to set the focus archetype explicitly (e.g. by primary delta or in the object template) in these cases.

  - #### assignmentSubtype

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Subtype of the assignment to which this resource object is mapped (if applicable).