Skip to main content

Expression

Expression that can be evaluated for any object.

NameDescriptionType
typeThe type of the expression (e.g. property value or status value).ExpressionType
dataNOTE: These two members store the indirection levels of this expression.
Normally, when an expression that does not have indirection levels is evaluated for
an object, only the data of the object is needed for the evaluation. For example,
property value expression "Project" is evaluated from the Project property of the
object. When one or more indirection levels are present, these indirection levels
(links) need to be followed in order to evaluate the expression. For example, expression
"Project.Customer.Country" first needs to determine the Project property of the object,
then the Customer property of the project, and finally the Country property of the
customer. In this specification, "Project.Customer" is defined as the two indirection
levels of the expression. They are stored in this order in the array of
MF_PropertyDefOrObjectType structs. The Country part is specified normally as if no
indirection levels would be present.
ExpressionUnion
indirection_levelsThe indirection levels.IndirectionLevel[]

Example

{
"type": 7 /* Enum: ExpressionType */,
"data": {
"property_value": {
"property_def": 0,
"data_function": {
"data_function": 9 /* Enum: DataFunction */,
"data": {
"year": {},
"month": {},
"year_and_month": {},
"date": {},
"days_from": {},
"days_to": {},
"integer_segment": {
"segment_size": 0
},
"left_characters": {
"count": 0
},
"initial_character_group": {
"lcid": 0
}
}
},
"parent_child_behavior": 2 /* Enum: ParentChildBehavior */
},
"id_segment": {
"segment_size": 0
},
"status_value": {
"type": 16 /* Enum: StatusType */,
"data_function": {} /* DataFunctionCall */
},
"file_value": {
"type": 8 /* Enum: FileValueType */
},
"typed_value": {
"datatype": 15 /* Enum: Datatype */,
"value_list": 0,
"data_function": {} /* DataFunctionCall */,
"parent_child_behavior": {}
},
"any_field": {
"options": {
"all": false,
"use_stemming": false,
"search_all_words": false,
"search_any_words": false,
"search_metadata": false,
"search_filedata": false
}
},
"permissions": {
"type": 6 /* Enum: PermissionsExpressionType */
}
},
"indirection_levels": [] /* Array of IndirectionLevel */
}