An instance of OM class DS_C_FILTER is used to select or reject an object on the basis of information in its directory entry. At any point in time, an attribute filter has a value relative to every object. The value is FALSE, TRUE, or undefined. The object is selected if, and only if, the filter's value is TRUE.
An instance of this OM class has the OM attributes of its superclass, OM_C_OBJECT, in addition to the OM attributes listed in the following table.
OM Attributes of DS_C_FILTER
OM Attribute |
Value Syntax |
Value Length | Value Number | Value Initially |
DS_FILTER_ ITEMS |
Object(DS_C_ FILTER_ITEM |
- | 0 or more | - |
DS_FILTERS | Object(DS_C_ FILTER) |
- | 0 or more | - |
DS_FILTER_TYPE | Enum(DS_Filter_ Type |
- | 1 | DS_AND |
· DS_FILTER_ITEMS
This attribute is a collection of assertions, each relating to just one attribute of a directory entry.
· DS_FILTERS
This attribute is a collection of simpler filters.
· DS_FILTER_TYPE
This attribute is the filter's type. It can have any of the following values:
- DS_AND, meaning that the filter is the logical conjunction of its components. The filter is TRUE unless any of the nested filters or filter items is FALSE. If there are no nested components, the filter is TRUE.
- DS_OR, meaning that the filter is the logical disjunction of its components. The filter is FALSE unless any of the nested filters or filter items is TRUE. If there are no nested components, the filter is FALSE.
- DS_NOT, meaning that the result of this filter is reversed. There must be exactly one nested filter or filter item. The filter is TRUE if the enclosed filter or filter item is FALSE, and is FALSE if the enclosed filter or filter item is TRUE.