# 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.
documentation | property string | [0,1] | Technical documentation for a particular object or construct.
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.

    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]

    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.

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