# ObjectParentSelectorType (Complex Type)

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

Supertype: OwnedObjectSelectorType
Position of an object (more precisely, an item) within midPoint objects structure. For example a case work item can be specified as having type=CaseType, path=workItem. TODO we should perhaps find a better name TODO technically this derives from OwnedObjectSelectorType, but not all the features may be available in all contexts (e.g., sometimes only ObjectSelectorType features may be available)

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
name | property string | [0,1] | Name of the selector (for troubleshooting).
description | property string | [0,1] |
documentation | property string | [0,1] | Technical documentation for a particular object or construct.
parent | container ObjectParentSelectorType | [0,1] | Requirements on the parent (owning) object + the position (path) of this object within the parent one.
type | property QName | [0,1] | Type of the object to select.
subtype | property string | [0,1] | Subtype of the object to select.
archetypeRef | reference ObjectReferenceType | [0,-1] | Archetype of the object to select.
orgRef | reference ObjectReferenceType | [0,1] | Top node of an organizational hierarchy.
filter | property SearchFilterType | [0,1] | Filter that an object must match to be considered selected by this statement.
orgRelation | container OrgRelationObjectSpecificationType | [0,1] | Definition of object with respect to subject membership in organizational hierarchy.
roleRelation | container RoleRelationObjectSpecificationType | [0,1] | Definition of object with respect to subject relation to a role.
special | property SpecialObjectSpecificationType | [0,-1] | Defines special object by relative description, such as "self".
allowInactive | property boolean | [0,1] | If set to false (default) the specification will apply only to active relations (e.
owner | container SubjectedObjectSelectorType | [0,1] | The object matches the specification if it has an owner specified by this element.
delegator | container SubjectedObjectSelectorType | [0,1] | The object matches the specification if it has a delegator specified by this element.
requester | container SubjectedObjectSelectorType | [0,1] | The object matches the specification if it has a requester specified by this element.
assignee | container SubjectedObjectSelectorType | [0,1] | The object matches the specification if it has a (current) assignee specified by this element.
candidateAssignee | container SubjectedObjectSelectorType | [0,1] | The object matches the specification if it has a candidate assignee specified by this element.
relatedObject | container SubjectedObjectSelectorType | [0,1] | The object matches the specification if it has a related object specified by this element.
tenant | container TenantSelectorType | [0,1] | The object matches the specification if it is related to the specified tenant.
path | property ItemPathType | [0,1] | Specification of a path from the parent to the current object (item).

- ### Items

  - #### name

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Name of the selector (for troubleshooting).

  - #### description

    Flags: RAM,runtime

    Multiplicity: [0,1]

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

  - #### parent

    Flags: elaborate,RAM,runtime

    Multiplicity: [0,1]

    Requirements on the parent (owning) object + the position (path) of this object within the parent one.

  - #### type

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Type of the object to select.

  - #### subtype

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Subtype of the object to select.

  - #### archetypeRef

    Flags: RAM

    Multiplicity: [0,-1]

    Archetype of the object to select.

  - #### orgRef

    Flags: RAM

    Multiplicity: [0,1]

    Top node of an organizational hierarchy. All the subnodes (transitively, unlimited depth, excluding the top node) are considered selected.

  - #### filter

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Filter that an object must match to be considered selected by this statement. This filter MUST NOT contain organization unit clauses. It may only contain property clauses, logical operations and so on.

  - #### orgRelation

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Definition of object with respect to subject membership in organizational hierarchy. Used to specify authorizations for all objects that belong to an org where the subject is a manager, etc.

  - #### roleRelation

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Definition of object with respect to subject relation to a role. Used to specify authorizations for role approvers, owners and so on.

    EXPERIMENTAL. Use at your own risk.

  - #### special

    Flags: RAM,runtime,AVals:3

    Multiplicity: [0,-1]

    Defines special object by relative description, such as "self".

  - #### allowInactive

    Flags: RAM,runtime

    Multiplicity: [0,1]

    If set to false (default) the specification will apply only to active relations (e.g active delegations). If set to true then the specification will also be applied to inactive relations (e.g. expired delegations). Only partially implemented. Works only for some cases (delegator). EXPERIMENTAL. Use at your own risk.

  - #### owner

    Flags: RAM,runtime

    Multiplicity: [0,1]

    The object matches the specification if it has an owner specified by this element. The "owner" means a focus that has a link to the object. LIMITATION: for search pre-processing this option is supported in a very limited way (only for TaskType.ownerRef and only for "self" owners).

  - #### delegator

    Flags: RAM,runtime

    Multiplicity: [0,1]

    The object matches the specification if it has a delegator specified by this element. The "delegator" means that the object has an active delegation assignment to delegator. LIMITATION: only "self" delegator is supported now.

  - #### requester

    Flags: RAM,runtime

    Multiplicity: [0,1]

    The object matches the specification if it has a requester specified by this element. (So it is applicable only for cases and, in the future, work items.)

  - #### assignee

    Flags: RAM,runtime

    Multiplicity: [0,1]

    The object matches the specification if it has a (current) assignee specified by this element. (So it is applicable only for cases and work items.) LIMITATION: only "self" candidate assignee selector is supported when searching.

  - #### candidateAssignee

    Flags: RAM,runtime

    Multiplicity: [0,1]

    The object matches the specification if it has a candidate assignee specified by this element. (So it is applicable only for cases and work items.) LIMITATION: only "self" candidate assignee selector is supported now.

  - #### relatedObject

    Flags: RAM,runtime

    Multiplicity: [0,1]

    The object matches the specification if it has a related object specified by this element. (So it is applicable only for cases and tasks and, in the future, work items.)

  - #### tenant

    Flags: RAM,runtime

    Multiplicity: [0,1]

    The object matches the specification if it is related to the specified tenant.

  - #### path

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Specification of a path from the parent to the current object (item).