# AssociationFromLinkExpressionEvaluatorType (Complex Type)

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

Supertype: ShadowDiscriminatorExpressionEvaluatorType
Definition of an expression that creates association from links (linkRefs)

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
description | property string | [0,1] | Free-form textual description of the object.
projectionDiscriminator | container ShadowDiscriminatorType | [0,1] | Shadow discriminator uniquely identifies a projection among other projections linked to the same focus.
recurseUpOrgType | property string | [0,-1] | Specifies orgType of an organization tree to recurse upward.
assignmentPathIndex | property int | [0,1] | Index to the assignment path.

- ### Items

  - #### description

    Flags: RAM,runtime

    Multiplicity: [0,1]

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

    Anything that the system administrator wants may be here. The system will not interpret the information except for displaying it and allow user to edit it.

  - #### projectionDiscriminator

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Shadow discriminator uniquely identifies a projection among other projections linked to the same focus.

  - #### recurseUpOrgType

    Flags: RAM,runtime

    Multiplicity: [0,-1]

    Specifies orgType of an organization tree to recurse upward. In case that the expression applies to an org, it will recurse the org tree upwards and create associations for all the orgs in the hierarchy. Only orgs with the orgType matching this specification will be processed.

  - #### assignmentPathIndex

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Index to the assignment path. This index points to the object that should be used as a source to get the link from. Index 0 is the focal object, index 1 is the first (plain) role, index 2 is meta-role, index 3 is meta-meta-role and so on. Negative index can also be used, in that case the order is reversed: index -1 is that last meta-meta-meta-...-role. index -2 is the one before and so on.

    If the index is not specified then a legacy algorithm will be used. The legacy algorithm is guaranteed to work up to meta-role level. For plain roles (order-one inducement) the role itself is selected. For meta-roles (order-two inducement) the first (plain) role is selected. At the meta-meta role level (order-three inducement) and above the behavior is formally undefined and it may change in any future versions. However, current behaviour roughly corresponds to assignment path index -2.