title: 4.2.1.4 - MatchingRules navPrev: 4.2.1.3-syntaxes.html navPrevText: 4.2.1.3 - Syntaxes navUp: 4.2.1-schema-objects.html navUpText: 4.2.1 - Schema Objects navNext: 4.2.1.5-dit-content-rules.html navNextText: 4.2.1.5 - DITContentRules

4.2.1.4 - MatchingRules

A MatchingRule is used when processing search requests using Filters, or a Compare or during Modify operations. An AttributeType defines up to 3 types of MatchingRules:

  • EQUALITY : for comparisons for equality
  • ORDERING : for comparisons involving the <= or >= operators
  • SUBSTR : for comparisons involving substrings, like ‘*xyz’ or ‘x*z’

There are a few extra parameters that are defined in the MatchingRule class:

  • getSyntax() : gets the Syntax instance associated with the MatchingRule
  • getSyntaxOid() : gets the Syntax OID associated with the MatchingRule

We also have 2 specific methods that are used to compare or normalize a value:

  • getLdapComparator() : gets the LdapComparator to use to compare 2 values
  • getNormalizer() : gets the Normalizer used to normalize a value

Those are convenient methods, specifically when you need to compare two values.

A MatchingRule instance is associated with a LdapSyntax and a Normalizer because it may need to get information about the attribute value check and normalization. It also contains a reference to the associated LdapComparator.