Anatomy of a composite filter
All composite filters must have a root node. They should also have at least one filter element (which may be the root node itself), otherwise they would serve little purpose. They may also contain any number of filter groups.
When a composite filter is evaluated, the root node is tested against the supplied data. If the root node is a filter group, it returns a Boolean value based on the outcome of the tests of its child nodes. Any child feature group is also tested in this way.
In order to save a composite filter (or any part thereof), select the node that will be the root of the saved filter and drag it onto the Composite Filter Cache (or click Add To Cache from the Filter toolbar), where a copy of the sub-node hierarchy is stored. If, by the same stroke, you want to replace an existing cached filter, drop the dragged node onto it. You will be prompted to confirm such operations.
Filter data type
Denotes the type of data to be evaluated by the composite filter. This, in turn, determines the set of available filter templates and cached composite filters that may be used.
|
|
Filter group
A collection of filter elements and other filter groups. Filter groups allow you to create a hierarchical aggregate of individual tests. An evaluation of a filter group is really an evaluation of each of its children. The overall result depends on the nature of the filter group itself. For example, an AND group will return true only if all of its child nodes' constraints are satisfied by the test data. An OR group, on the other hand, will return true if any of its child nodes' constraints are satisfied.
In this example, the AND group will return true when evaluated with an integer of value in the range 1 to 10 inclusive.
The description of a filter group is a composite of the descriptions of each of its children.
|
|
Filter element
A specific test on an item of data to be evaluated. To edit the operand value (if there is one), select the node. This will display the appropriate value editor for the current data type: use this to change the operand value. Alternatively, the Properties panel can be used: the relevant property is named TestOperand.
|
|
Selected node
The selected node is the target of Filter Builder operations (such as "test" and "move" actions).
|
|