# SearchObjectExpressionEvaluatorType (Complex Type)

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

Supertype: TransformExpressionEvaluatorType

Create an expression based on search results.

Note: search expression evaluators have changed default for includeNullInputs. Null inputs are NOT processed by search expression evaluators by default. The reason is that null inputs are usually insignificant for search expression and skipping them results in fewer search operations.

Item Summary
Name | Type | Multiplicity | Description
--- | --- | --- | ---
description | property string | [0,1] | Free-form textual description of the object.
trace | property boolean | [0,1] | Explicitly trace the execution of this expression.
relativityMode | property TransformExpressionRelativityModeType | [0,1] | TODO
includeNullInputs | property boolean | [0,1] | If set to true (which is the default) the script will be evaluated with null value as argument when the input is changed from or to an empty value.
condition | property ExpressionType | [0,1] | Condition driving whether this expression is evaluated at all (for given inputs).
targetType | property QName | [0,1] |
oid | property string | [0,1] | Fixed OID.
filter | property SearchFilterType | [0,1] |
searchStrategy | property ObjectSearchStrategyType | [0,1] |
defaultTargetRef | reference ObjectReferenceType | [0,1] | Reference that will be used if no target is found.
createOnDemand | property boolean | [0,1] |
populateObject | property PopulateType | [0,1] | TODO
populate | property PopulateType | [0,1] | Populate assignment, association,.

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

  - #### trace

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Explicitly trace the execution of this expression. The execution will be logged on INFO level if this property is set to true to make sure that it will be visible in the logs.

  - #### relativityMode

    Flags: RAM,runtime,AVals:2

    Multiplicity: [0,1]

    TODO

  - #### includeNullInputs

    Flags: RAM,runtime

    Multiplicity: [0,1]

    If set to true (which is the default) the script will be evaluated with null value as argument when the input is changed from or to an empty value. This generally works well for most cases. It may be set to false as an optimization. Note: default setting for this property may be overridden in specific expression evaluators.

  - #### condition

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Condition driving whether this expression is evaluated at all (for given inputs).

  - #### targetType

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### oid

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Fixed OID. If this OID is present then no search will be done. It is planned to be used to "remember" the search result. E.g. to search for the target on import and then store the fixed OID. But this is not yet implemented.

  - #### filter

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### searchStrategy

    Flags: RAM,runtime,AVals:3

    Multiplicity: [0,1]

  - #### defaultTargetRef

    Flags: RAM

    Multiplicity: [0,1]

    Reference that will be used if no target is found.

  - #### createOnDemand

    Flags: RAM,runtime

    Multiplicity: [0,1]

  - #### populateObject

    Flags: RAM,runtime

    Multiplicity: [0,1]

    TODO

  - #### populate

    Flags: RAM,runtime

    Multiplicity: [0,1]

    Populate assignment, association,... (any container) specific attributes, e.g activation status, validTo, validFrom and can be also used for setting assignment parameters