# 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] |
projectionDiscriminator | container ShadowDiscriminatorType | [0,1] | Shadow discriminator uniquely identifies a projection among other projections linked to the same focus.
recurseUpOrgType | property string | [0,-1] |
assignmentPathIndex | property int | [0,1] | Index to the assignment path.

- ### Items

  - #### description

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### 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]

  - #### 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.