LDAPJDK 4.1

netscape.ldap
Class LDAPMatchingRuleSchema

java.lang.Object
  |
  +--netscape.ldap.LDAPSchemaElement
        |
        +--netscape.ldap.LDAPAttributeSchema
              |
              +--netscape.ldap.LDAPMatchingRuleSchema

public class LDAPMatchingRuleSchema
extends LDAPAttributeSchema

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:

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.

See Also:
LDAPSchemaElement, Serialized Form

Fields inherited from class netscape.ldap.LDAPAttributeSchema
COLLECTIVE, EQUALITY, NO_USER_MODIFICATION, ORDERING, SINGLE, SUBSTR, syntaxElement, USAGE
 
Fields inherited from class netscape.ldap.LDAPSchemaElement
aliases, attrName, binary, binaryString, ces, cesString, cis, cisString, description, dn, dnString, integer, intString, name, novalsTable, OBSOLETE, oid, properties, rawValue, SUPERIOR, SYNTAX, telephone, telephoneString, unknown
 
Constructor Summary
LDAPMatchingRuleSchema(java.lang.String raw, java.lang.String use)
          Constructs a matching rule definition based on descriptions in the MatchingRuleDescription format and MatchingRuleUseDescription format.
LDAPMatchingRuleSchema(java.lang.String name, java.lang.String oid, java.lang.String description, java.lang.String[] attributes, int syntax)
          Constructs a matching rule definition, using the specified information.
LDAPMatchingRuleSchema(java.lang.String name, java.lang.String oid, java.lang.String description, java.lang.String[] attributes, java.lang.String syntaxString)
          Constructs a matching rule definition, using the specified information.
LDAPMatchingRuleSchema(java.lang.String name, java.lang.String oid, java.lang.String description, java.lang.String[] attributes, java.lang.String syntaxString, java.lang.String[] aliases)
          Constructs a matching rule definition, using the specified information.
 
Method Summary
 java.lang.String[] getAttributes()
          Gets the list of the OIDs of the attribute types which can be used with the matching rule.
 java.lang.String getUseValue()
          Gets the matching rule use definition in the string representation of the MatchingRuleUseDescription data type defined in X.501 (see RFC 2252, Lightweight Directory Access Protocol (v3): Attribute Syntax Definitions for a description of these formats).
 java.lang.String getValue()
          Gets the matching rule definition in the string representation of the MatchingRuleDescription data type defined in X.501 (see RFC 2252, Lightweight Directory Access Protocol (v3): Attribute Syntax Definitions for a description of these formats).
 java.lang.String toString()
          Gets the definition of the matching rule in a user friendly format.
protected  void update(LDAPConnection ld, int op, java.lang.String name, java.lang.String dn)
          Adds, removes or modifies the definition from a Directory.
 
Methods inherited from class netscape.ldap.LDAPAttributeSchema
getSuperior, getSyntax, getSyntaxString, isSingleValued
 
Methods inherited from class netscape.ldap.LDAPSchemaElement
add, add, getAliases, getCustomValues, getDescription, getID, getName, getOID, getOptionalValues, getQualifier, getQualifierNames, isObsolete, modify, modify, parseValue, remove, remove, setQualifier, setQualifier, update, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LDAPMatchingRuleSchema

public LDAPMatchingRuleSchema(java.lang.String name,
                              java.lang.String oid,
                              java.lang.String description,
                              java.lang.String[] attributes,
                              int syntax)
Constructs a matching rule definition, using the specified information.
Parameters:
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
syntax - 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)

LDAPMatchingRuleSchema

public LDAPMatchingRuleSchema(java.lang.String name,
                              java.lang.String oid,
                              java.lang.String description,
                              java.lang.String[] attributes,
                              java.lang.String syntaxString)
Constructs a matching rule definition, using the specified information.
Parameters:
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(java.lang.String name,
                              java.lang.String oid,
                              java.lang.String description,
                              java.lang.String[] attributes,
                              java.lang.String syntaxString,
                              java.lang.String[] aliases)
Constructs a matching rule definition, using the specified information.
Parameters:
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
aliases - names which are to be considered aliases for this matching rule; null if there are no aliases

LDAPMatchingRuleSchema

public LDAPMatchingRuleSchema(java.lang.String raw,
                              java.lang.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.

Parameters:
raw - definition of the matching rule in the MatchingRuleDescription format
use - definition of the use of the matching rule in the MatchingRuleUseDescription format
Method Detail

getAttributes

public java.lang.String[] getAttributes()
Gets the list of the OIDs of the attribute types which can be used with the matching rule.
Returns:
array of the OIDs of the attribute types which can be used with the matching rule.

getValue

public java.lang.String getValue()
Gets the matching rule definition in the string representation of the MatchingRuleDescription data type defined in X.501 (see RFC 2252, Lightweight Directory Access Protocol (v3): Attribute Syntax Definitions for a description of these formats). 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 the attributes "matchingrules" and "matchingruleuse". The values of these attributes are matching rule description and matching rule use description in these formats.)

Overrides:
getValue in class LDAPSchemaElement
Returns:
a string in a format that can be used as the value of the matchingrule attribute (which describes a matching rule in the schema) of a subschema object

getUseValue

public java.lang.String getUseValue()
Gets the matching rule use definition in the string representation of the MatchingRuleUseDescription data type defined in X.501 (see RFC 2252, Lightweight Directory Access Protocol (v3): Attribute Syntax Definitions for a description of these formats). 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 the attributes "matchingrules" and "matchingruleuse". The values of these attributes are matching rule description and matching rule use description in these formats.)

Returns:
a string in a format that can be used as the value of the matchingruleuse attribute (which describes the use of a matching rule in the schema) of a subschema object

update

protected void update(LDAPConnection ld,
                      int op,
                      java.lang.String name,
                      java.lang.String dn)
               throws LDAPException
Adds, removes or modifies the definition from a Directory.
Overrides:
update in class LDAPSchemaElement
Parameters:
ld - an open connection to a Directory Server. Typically the connection must have been authenticated to add a definition.
op - type of modification to make
name - name of attribute in the schema entry to modify. This is ignored here.
dn - the entry at which to update the schema
Throws:
LDAPException - if the definition can't be added/removed

toString

public java.lang.String toString()
Gets the definition of the matching rule in a user friendly format. This is the format that the matching rule definition uses when you print the matching rule or the schema.
Overrides:
toString in class LDAPAttributeSchema
Returns:
definition of the matching rule in a user friendly format.

LDAPJDK 4.1