Class LDAPMatchingRuleSchema
- All Implemented Interfaces:
Serializable
- 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.
- Version:
- 1.0
- See Also:
-
Field Summary
Fields inherited from class LDAPAttributeSchema
COLLECTIVE, EQUALITY, NO_USER_MODIFICATION, ORDERING, SINGLE, SUBSTR, syntaxElement, USAGEFields inherited from class LDAPSchemaElement
aliases, attrName, binary, binaryString, ces, cesString, cis, cisString, description, dn, dnString, integer, intString, name, novalsTable, OBSOLETE, oid, properties, rawValue, SUPERIOR, SYNTAX, telephone, telephoneString, unknownModifier and TypeFieldDescriptionprotected String[]protected Stringstatic final intprotected static final Stringstatic final intprotected static final Stringstatic final intprotected static final Stringprotected Stringstatic final intprotected static final Stringstatic final intprotected static final Stringprotected Stringstatic final Stringprotected Stringprotected Stringstatic final Stringstatic final Stringstatic final intprotected static final Stringstatic final int -
Constructor Summary
ConstructorsConstructorDescriptionLDAPMatchingRuleSchema(String raw, String use) Constructs a matching rule definition based on descriptions in the MatchingRuleDescription format and MatchingRuleUseDescription format.LDAPMatchingRuleSchema(String name, String oid, String description, String[] attributes, int syntax) Constructs a matching rule definition, using the specified information.LDAPMatchingRuleSchema(String name, String oid, String description, String[] attributes, String syntaxString) Constructs a matching rule definition, using the specified information.LDAPMatchingRuleSchema(String name, String oid, String description, String[] attributes, String syntaxString, String[] aliases) Constructs a matching rule definition, using the specified information. -
Method Summary
Modifier and TypeMethodDescriptionString[]Gets the list of the OIDs of the attribute types which can be used with the matching rule.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).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).toString()Gets the definition of the matching rule in a user friendly format.protected voidupdate(LDAPConnection ld, int op, String name, String dn) Adds, removes or modifies the definition from a Directory.Methods inherited from class LDAPAttributeSchema
getSuperior, getSyntax, getSyntaxString, isSingleValuedModifier and TypeMethodDescriptionGets the name of the attribute that this attribute inherits from, if any.intGets the syntax of the schema elementGets the syntax of the attribute type in dotted-decimal format, for example "1.2.3.4.5"booleanDetermines if the attribute type is single-valued.Methods inherited from class LDAPSchemaElement
add, add, getAliases, getCustomValues, getDescription, getID, getName, getOID, getOptionalValues, getQualifier, getQualifierNames, isObsolete, modify, modify, parseValue, remove, remove, setQualifier, setQualifier, update, updateModifier and TypeMethodDescriptionvoidadd(LDAPConnection ld) Adds the current object class, attribute type, or matching rule definition to the schema at the root DSE.voidadd(LDAPConnection ld, String dn) Adds the current object class, attribute type, or matching rule definition to the schema.String[]Gets the aliases of the attribute, if anyprotected StringGets any qualifiers marked as custom (starting with "X-")Gets the description of the object class, attribute type, or matching rule.getID()Gets the object ID (OID) of the object class, attribute type, or matching rule in dotted-string format (for example, "1.2.3.4").getName()Gets the name of the object class, attribute type, or matching rule.getOID()Deprecated.protected StringgetOptionalValues(String[] names) Gets qualifiers which may or may not be presentString[]getQualifier(String name) Gets the value of a qualifier which is not predefined.Gets an enumeration of all qualifiers which are not predefined.booleanReports if the element is marked as obsolete.voidmodify(LDAPConnection ld, LDAPSchemaElement newValue) Replaces a single value of the object class, attribute type, or matching rule definition in the schema at the root DSE.voidmodify(LDAPConnection ld, LDAPSchemaElement newValue, String dn) Replaces a single value of the object class, attribute type, or matching rule definition in the schema.protected voidparseValue(String raw) Parses a raw schema value into OID, name, description, and a Hashtable of other qualifiers and values.voidremove(LDAPConnection ld) Removes the current object class, attribute type, or matching rule definition from the schema at the root DSE.voidremove(LDAPConnection ld, String dn) Removes the current object class, attribute type, or matching rule definition from the schema.voidsetQualifier(String name, String value) Keeps track of qualifiers which are not predefined.voidsetQualifier(String name, String[] values) Keeps track of qualifiers which are not predefined.protected voidupdate(LDAPConnection ld, int op, LDAPAttribute[] attrs, String dn) Adds, removes or modifies the definition from a Directory.protected voidupdate(LDAPConnection ld, int op, LDAPAttribute attr, String dn) Adds, removes or modifies the definition from a Directory.
-
Constructor Details
-
LDAPMatchingRuleSchema
public LDAPMatchingRuleSchema(String name, String oid, String description, String[] attributes, int syntax) Constructs a matching rule definition, using the specified information.- Parameters:
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)
-
LDAPMatchingRuleSchema
public LDAPMatchingRuleSchema(String name, String oid, String description, String[] attributes, 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(String name, String oid, String description, String[] attributes, String syntaxString, 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 formataliases- names which are to be considered aliases for this matching rule;nullif there are no aliases
-
LDAPMatchingRuleSchema
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 formatuse- definition of the use of the matching rule in the MatchingRuleUseDescription format
-
-
Method Details
-
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
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:
getValuein classLDAPSchemaElement- Returns:
- a string in a format that can be used as the value of
the
matchingruleattribute (which describes a matching rule in the schema) of asubschemaobject
-
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
matchingruleuseattribute (which describes the use of a matching rule in the schema) of asubschemaobject
-
update
Adds, removes or modifies the definition from a Directory.- Overrides:
updatein classLDAPSchemaElement- 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 makename- 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
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:
toStringin classLDAPAttributeSchema- Returns:
- definition of the matching rule in a user friendly format.
-
LDAPSchemaElement.getID()