The definition of a matching rule in the schema.
RFC 2252, Lightweight Directory Access Protocol (v3):
Attribute Syntax Definitions covers the types of information
that need to be specified in the definition of a matching rule.
According to the RFC, the description of a matching rule can
include the following information:
- an OID identifying the matching rule
- a name identifying the matching rule
- a description of the matching rule
- the syntax of the matching rule
The
LDAPMatchingRuleSchema
class also specifies
the matching rule "use description", which describes the
attributes which can be used with the matching rule.
When you construct an
LDAPMatchingRuleSchema
object, you can
specify these types of information as arguments to the constructor or
in the MatchingRuleDescription and MatchingRuleUseDescription formats
specified in RFC 2252.
When an LDAP client searches an LDAP server for the schema, the server
returns schema information as an object with attribute values in this
format.
You can get the name, OID, and description of this matching rule
definition by using the
getName
,
getOID
, and
getDescription
methods inherited from the abstract class
LDAPSchemaElement
. Custom qualifiers are
accessed with
getQualifier
and
getQualifierNames
from
LDAPSchemaElement
.
To add or remove this matching rule definition from the
schema, use the
add
and
remove
methods, which this class inherits from the
LDAPSchemaElement
abstract class.
RFC 2252 defines MatchingRuleDescription and MatchingRuleUseDescription
as follows:
MatchingRuleDescription = "(" whsp
numericoid whsp ; MatchingRule identifier
[ "NAME" qdescrs ]
[ "DESC" qdstring ]
[ "OBSOLETE" whsp ]
"SYNTAX" numericoid
whsp ")"
Values of the matchingRuleUse list the attributes which are suitable
for use with an extensible matching rule.
MatchingRuleUseDescription = "(" whsp
numericoid whsp ; MatchingRule identifier
[ "NAME" qdescrs ]
[ "DESC" qdstring ]
[ "OBSOLETE" ]
"APPLIES" oids ; AttributeType identifiers
whsp ")"
LDAPMatchingRuleSchema
abstracts away from the two types and
manages their relationships transparently.
LDAPMatchingRuleSchema
public LDAPMatchingRuleSchema(String raw,
String use)
Constructs a matching rule definition based on descriptions in
the MatchingRuleDescription format and MatchingRuleUseDescription
format. For information on this format,
(see
RFC 2252, Lightweight Directory Access Protocol (v3):
Attribute Syntax Definitions. This is the format that LDAP servers
and clients use to exchange schema information. For example, when
you search an LDAP server for its schema, the server returns an entry
with attributes that include "matchingrule" and "matchingruleuse".
The values of these attributes are matching rule descriptions
in this format.
raw
- definition of the matching rule in the
MatchingRuleDescription formatuse
- definition of the use of the matching rule in the
MatchingRuleUseDescription format
LDAPMatchingRuleSchema
public LDAPMatchingRuleSchema(String name,
String oid,
String description,
String[] attributes,
String syntaxString)
Constructs a matching rule definition, using the specified
information.
name
- name of the matching rule.oid
- object identifier (OID) of the matching rule
in dotted-decimal format (for example, "1.2.3.4").description
- description of the matching rule.attributes
- array of the OIDs of the attributes for which
the matching rule is applicable.syntaxString
- syntax of this matching rule in dotted-decimal
format
LDAPMatchingRuleSchema
public LDAPMatchingRuleSchema(String name,
String oid,
String description,
String[] attributes,
String syntaxString,
String[] aliases)
Constructs a matching rule definition, using the specified
information.
name
- name of the matching rule.oid
- object identifier (OID) of the matching rule
in dotted-decimal format (for example, "1.2.3.4").description
- description of the matching rule.attributes
- array of the OIDs of the attributes for which
the matching rule is applicable.syntaxString
- syntax of this matching rule in dotted-decimal
formataliases
- names which are to be considered aliases for this
matching rule; null
if there are no aliases
LDAPMatchingRuleSchema
public LDAPMatchingRuleSchema(String name,
String oid,
String description,
String[] attributes,
int syntax)
Constructs a matching rule definition, using the specified
information.
name
- name of the matching ruleoid
- object identifier (OID) of the matching rule
in dotted-decimal format (for example, "1.2.3.4")description
- description of the matching ruleattributes
- array of the OIDs of the attributes for which
the matching rule is applicablesyntax
- syntax of this matching rule. The value of this
argument can be one of the following:
cis
(case-insensitive string)
ces
(case-exact string)
binary
(binary data)
int
(integer)
telephone
(telephone number -- identical to cis,
but blanks and dashes are ignored during comparisons)
dn
(distinguished name)