# AssignmentPathSegmentType (Complex Type)

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

One segment in the assignment path.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
segmentOrder | property int | [0,1] | Order of this segment in the whole assignment path.
sourceRef | reference ObjectReferenceType | [0,1] |
sourceDisplayName | property PolyStringType | [0,1] |
assignment | container AssignmentType | [0,1] | Generic assignments of one object to another object.
assignmentId | property long | [0,1] |
targetRef | reference ObjectReferenceType | [0,1] |
targetDisplayName | property PolyStringType | [0,1] |
matchingOrder | property boolean | [0,1] |
isAssignment | property boolean | [0,1] |

- ### Items

  - #### segmentOrder

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Order of this segment in the whole assignment path. First segment is numbered 1.

  - #### sourceRef

    Flags: RAM

    Multiplicity: [0,1]

    Display order:

  - #### sourceDisplayName

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

  - #### assignment

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

    Generic assignments of one object to another object. This will usually be assignment of a role to a user, assignment of an organizational unit, team or whatever. It may also be used to assign role to another role, creating a role hierarchy. Assignment is an abstract concept. It can be anything that gives the "receptor" object additional access rights, privileges, capabilities or similar ability or right. But it may also constraint the object with policy, e.g. to implement separation of duties. Roles, organizations and privileges in IDM system are examples of assignments. The assignment may target either existing IDM object (such as a role) or abstract resource account that may or may not exist. In case of resource objects it is constrained to accounts, as accounts are the only resource objects that can be assigned to a user. Other resource objects (entitlements) can be assigned to accounts, but not to users. TODO: constraints

  - #### assignmentId

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

  - #### targetRef

    Flags: RAM

    Multiplicity: [0,1]

    Display order:

  - #### targetDisplayName

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

  - #### matchingOrder

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order:

  - #### isAssignment

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Display order: