Era.Common.DataDefinition.Filter.CompositeFilter

Description

Complex filter, which allows to express arbitrary AND/OR/NAND/NOR filtering expression.
Current implementation only allows using NAND/NOR with [compositeFilters], not [filters].
It is not allowed to use both, [filters] and [compositeFilters], at the same time. I.e. if [filters] contains data, [compositeFilters] has to be empty and vice versa.
Individual usages of CompositeFilter may have further restrictions.

Properties

Name JsonSchemaType Description
compositeFilters array of references to Era.Common.DataDefinition.Filter.CompositeFilter List of composite ("non-atomic") filters. Must not be combined with [filters].
filters array of references to Era.Common.DataDefinition.Filter.Filter List of "atomic" filter conditions. Must not be combined with [compositeFilters]. Symbols must be from one log. Each filter is a condition that will be evaluated on a column in a log table.
logicOperator enum of Era.Common.DataDefinition.Filter.CompositeFilter_LogicOperator Logic operation, used between individual filters in [filters] or [compositeFilters].

Dual message (request/response)

No dual message.

Referenced in messages

Era.Common.DataDefinition.Filter.CompositeFilter
Era.Common.DataDefinition.Reports.Report_Drilldown_DrilldownItem
Era.Common.DataDefinition.Trigger.EventLogTrigger
Era.Common.NetworkMessage.ConsoleApi.DynamicGroups.RpcCreateDynamicGroupTemplateRequest
Era.Common.NetworkMessage.ConsoleApi.DynamicGroups.RpcGetDynamicGroupTemplateResponse
Era.Common.NetworkMessage.ConsoleApi.DynamicGroups.RpcModifyDynamicGroupTemplateRequest

JsonSchema

{
    "title": "Era.Common.DataDefinition.Filter.CompositeFilter",
    "type": "object",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "additionalProperties": false,
    "required": [
        "Era.Common.DataDefinition.Filter.CompositeFilter"
    ],
    "properties": {
        "Era.Common.DataDefinition.Filter.CompositeFilter": {
            "$ref": "#/definitions/CompositeFilter"
        }
    },
    "definitions": {
        "CompositeFilter": {
            "additionalProperties": false,
            "required": [
                "logicOperator"
            ],
            "type": "object",
            "properties": {
                "compositeFilters": {
                    "type": "array",
                    "items": [
                        {
                            "$ref": "Era.Common.DataDefinition.Filter.CompositeFilter#/definitions/CompositeFilter"
                        }
                    ]
                },
                "filters": {
                    "type": "array",
                    "items": [
                        {
                            "$ref": "Era.Common.DataDefinition.Filter.Filter#/definitions/Filter"
                        }
                    ]
                },
                "logicOperator": {
                    "enum": [
                        0,
                        1,
                        2,
                        3
                    ]
                }
            }
        }
    }
}