org.apache.directory.api.ldap.model.schema
Class MatchingRule

java.lang.Object
  extended by org.apache.directory.api.ldap.model.schema.AbstractSchemaObject
      extended by org.apache.directory.api.ldap.model.schema.MatchingRule
All Implemented Interfaces:
Serializable, SchemaObject
Direct Known Subclasses:
MutableMatchingRule

public class MatchingRule
extends AbstractSchemaObject

A matchingRule definition. MatchingRules associate a comparator and a normalizer, forming the basic tools necessary to assert actions against attribute values. MatchingRules are associated with a specific Syntax for the purpose of resolving a normalized form and for comparisons.

According to ldapbis [MODELS]:

  4.1.3. Matching Rules
 
    Matching rules are used by servers to compare attribute values against
    assertion values when performing Search and Compare operations.  They
    are also used to identify the value to be added or deleted when
    modifying entries, and are used when comparing a purported
    distinguished name with the name of an entry.
 
    A matching rule specifies the syntax of the assertion value.
 
    Each matching rule is identified by an object identifier (OID) and,
    optionally, one or more short names (descriptors).
 
    Matching rule definitions are written according to the ABNF:
 
      MatchingRuleDescription = LPAREN WSP
          numericoid                ; object identifier
          [ SP "NAME" SP qdescrs ]  ; short names (descriptors)
          [ SP "DESC" SP qdstring ] ; description
          [ SP "OBSOLETE" ]         ; not active
          SP "SYNTAX" SP numericoid ; assertion syntax
          extensions WSP RPAREN     ; extensions
 
    where:
      [numericoid] is object identifier assigned to this matching rule;
      NAME [qdescrs] are short names (descriptors) identifying this
          matching rule;
      DESC [qdstring] is a short descriptive string;
      OBSOLETE indicates this matching rule is not active;
      SYNTAX identifies the assertion syntax by object identifier; and
      [extensions] describe extensions.
 

Author:
Apache Directory Project
See Also:
RFC 2252 Section 4.5, ldapbis [MODELS], DescriptionUtils.getDescription(MatchingRule), Serialized Form

Field Summary
protected  LdapComparator<? super Object> ldapComparator
          The associated Comparator
protected  LdapSyntax ldapSyntax
          The associated LdapSyntax
protected  String ldapSyntaxOid
          The associated LdapSyntax OID
protected  Normalizer normalizer
          The associated Normalizer
 
Fields inherited from class org.apache.directory.api.ldap.model.schema.AbstractSchemaObject
description, extensions, isEnabled, isObsolete, isReadOnly, locked, names, objectType, oid, schemaName, specification
 
Constructor Summary
MatchingRule(String oid)
          Creates a new instance of MatchingRule.
 
Method Summary
 MatchingRule copy()
          Copy an MatchingRule
 boolean equals(Object o)
          
 LdapComparator<? super Object> getLdapComparator()
          Gets the LdapComparator enabling the use of this MatchingRule for ORDERING and sorted indexing.
 Normalizer getNormalizer()
          Gets the Normalizer enabling the use of this MatchingRule for EQUALITY matching and indexing.
 LdapSyntax getSyntax()
          Gets the LdapSyntax used by this MatchingRule.
 String getSyntaxOid()
          Gets the LdapSyntax OID used by this MatchingRule.
 String toString()
           
 
Methods inherited from class org.apache.directory.api.ldap.model.schema.AbstractSchemaObject
addExtension, addExtension, addName, clear, compareOid, copy, getDescription, getExtensions, getName, getNames, getObjectType, getOid, getSchemaName, getSpecification, hashCode, isDisabled, isEnabled, isObsolete, isReadOnly, lock, setDescription, setEnabled, setExtensions, setNames, setNames, setObsolete, setOid, setReadOnly, setSchemaName, setSpecification, unlock
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

ldapComparator

protected LdapComparator<? super Object> ldapComparator
The associated Comparator


normalizer

protected Normalizer normalizer
The associated Normalizer


ldapSyntax

protected LdapSyntax ldapSyntax
The associated LdapSyntax


ldapSyntaxOid

protected String ldapSyntaxOid
The associated LdapSyntax OID

Constructor Detail

MatchingRule

public MatchingRule(String oid)
Creates a new instance of MatchingRule.

Parameters:
oid - The MatchingRule OID
Method Detail

getSyntax

public LdapSyntax getSyntax()
Gets the LdapSyntax used by this MatchingRule.

Returns:
the LdapSyntax of this MatchingRule

getSyntaxOid

public String getSyntaxOid()
Gets the LdapSyntax OID used by this MatchingRule.

Returns:
the LdapSyntax of this MatchingRule

getLdapComparator

public LdapComparator<? super Object> getLdapComparator()
Gets the LdapComparator enabling the use of this MatchingRule for ORDERING and sorted indexing.

Returns:
the ordering LdapComparator

getNormalizer

public Normalizer getNormalizer()
Gets the Normalizer enabling the use of this MatchingRule for EQUALITY matching and indexing.

Returns:
the associated normalizer

toString

public String toString()
Overrides:
toString in class Object
See Also:
Object.toString()

copy

public MatchingRule copy()
Copy an MatchingRule

Specified by:
copy in interface SchemaObject
Specified by:
copy in class AbstractSchemaObject
Returns:
The copied SchemaObject

equals

public boolean equals(Object o)
Description copied from interface: SchemaObject

Specified by:
equals in interface SchemaObject
Overrides:
equals in class AbstractSchemaObject
See Also:
Object#equals()


Copyright © 2003-2013 The Apache Software Foundation. All Rights Reserved.