Package com.unboundid.ldap.matchingrules
Class DistinguishedNameMatchingRule
- java.lang.Object
-
- com.unboundid.ldap.matchingrules.MatchingRule
-
- com.unboundid.ldap.matchingrules.DistinguishedNameMatchingRule
-
- All Implemented Interfaces:
java.io.Serializable
@ThreadSafety(level=COMPLETELY_THREADSAFE) public final class DistinguishedNameMatchingRule extends MatchingRule
This class provides an implementation of a matching rule that performs equality comparisons against values that should be distinguished names. Substring and ordering matching are not supported.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
EQUALITY_RULE_NAME
The name for the distinguishedNameMatch equality matching rule.static java.lang.String
EQUALITY_RULE_OID
The OID for the distinguishedNameMatch equality matching rule.-
Fields inherited from class com.unboundid.ldap.matchingrules.MatchingRule
SUBSTRING_TYPE_SUBANY, SUBSTRING_TYPE_SUBFINAL, SUBSTRING_TYPE_SUBINITIAL
-
-
Constructor Summary
Constructors Constructor Description DistinguishedNameMatchingRule()
Creates a new instance of this distinguished name matching rule.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compareValues(ASN1OctetString value1, ASN1OctetString value2)
Compares the provided values to determine their relative order in a sorted list.java.lang.String
getEqualityMatchingRuleName()
Retrieves the name for this matching rule when used to perform equality matching, if appropriate.java.lang.String
getEqualityMatchingRuleOID()
Retrieves the OID for this matching rule when used to perform equality matching, if appropriate.static DistinguishedNameMatchingRule
getInstance()
Retrieves a singleton instance of this matching rule.java.lang.String
getOrderingMatchingRuleName()
Retrieves the name for this matching rule when used to perform ordering matching, if appropriate.java.lang.String
getOrderingMatchingRuleOID()
Retrieves the OID for this matching rule when used to perform ordering matching, if appropriate.java.lang.String
getSubstringMatchingRuleName()
Retrieves the name for this matching rule when used to perform substring matching, if appropriate.java.lang.String
getSubstringMatchingRuleOID()
Retrieves the OID for this matching rule when used to perform substring matching, if appropriate.boolean
matchesAnyValue(ASN1OctetString assertionValue, ASN1OctetString[] attributeValues)
Indicates whether the provided assertion value matches any of the provided attribute values.boolean
matchesSubstring(ASN1OctetString value, ASN1OctetString subInitial, ASN1OctetString[] subAny, ASN1OctetString subFinal)
Indicates whether the provided value matches the given substring assertion, according to the constraints of this matching rule.ASN1OctetString
normalize(ASN1OctetString value)
Normalizes the provided value for easier matching.ASN1OctetString
normalizeSubstring(ASN1OctetString value, byte substringType)
Normalizes the provided value for use as part of a substring assertion.boolean
valuesMatch(ASN1OctetString value1, ASN1OctetString value2)
Indicates whether the provided values are equal to each other, according to the constraints of this matching rule.-
Methods inherited from class com.unboundid.ldap.matchingrules.MatchingRule
getDefaultEqualityMatchingRule, getDefaultOrderingMatchingRule, getDefaultSubstringMatchingRule, getEqualityMatchingRuleNameOrOID, getOrderingMatchingRuleNameOrOID, getSubstringMatchingRuleNameOrOID, selectEqualityMatchingRule, selectEqualityMatchingRule, selectEqualityMatchingRule, selectMatchingRuleForSyntax, selectOrderingMatchingRule, selectOrderingMatchingRule, selectOrderingMatchingRule, selectSubstringMatchingRule, selectSubstringMatchingRule, selectSubstringMatchingRule
-
-
-
-
Field Detail
-
EQUALITY_RULE_NAME
@NotNull public static final java.lang.String EQUALITY_RULE_NAME
The name for the distinguishedNameMatch equality matching rule.- See Also:
- Constant Field Values
-
EQUALITY_RULE_OID
@NotNull public static final java.lang.String EQUALITY_RULE_OID
The OID for the distinguishedNameMatch equality matching rule.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DistinguishedNameMatchingRule
public DistinguishedNameMatchingRule()
Creates a new instance of this distinguished name matching rule.
-
-
Method Detail
-
getInstance
@NotNull public static DistinguishedNameMatchingRule getInstance()
Retrieves a singleton instance of this matching rule.- Returns:
- A singleton instance of this matching rule.
-
getEqualityMatchingRuleName
@NotNull public java.lang.String getEqualityMatchingRuleName()
Retrieves the name for this matching rule when used to perform equality matching, if appropriate.- Specified by:
getEqualityMatchingRuleName
in classMatchingRule
- Returns:
- The name for this matching rule when used to perform equality
matching, or
null
if this matching rule is not intended to be used for equality matching.
-
getEqualityMatchingRuleOID
@NotNull public java.lang.String getEqualityMatchingRuleOID()
Retrieves the OID for this matching rule when used to perform equality matching, if appropriate.- Specified by:
getEqualityMatchingRuleOID
in classMatchingRule
- Returns:
- The OID for this matching rule when used to perform equality
matching, or
null
if this matching rule is not intended to be used for equality matching.
-
getOrderingMatchingRuleName
@Nullable public java.lang.String getOrderingMatchingRuleName()
Retrieves the name for this matching rule when used to perform ordering matching, if appropriate.- Specified by:
getOrderingMatchingRuleName
in classMatchingRule
- Returns:
- The name for this matching rule when used to perform ordering
matching, or
null
if this matching rule is not intended to be used for ordering matching.
-
getOrderingMatchingRuleOID
@Nullable public java.lang.String getOrderingMatchingRuleOID()
Retrieves the OID for this matching rule when used to perform ordering matching, if appropriate.- Specified by:
getOrderingMatchingRuleOID
in classMatchingRule
- Returns:
- The OID for this matching rule when used to perform ordering
matching, or
null
if this matching rule is not intended to be used for ordering matching.
-
getSubstringMatchingRuleName
@Nullable public java.lang.String getSubstringMatchingRuleName()
Retrieves the name for this matching rule when used to perform substring matching, if appropriate.- Specified by:
getSubstringMatchingRuleName
in classMatchingRule
- Returns:
- The name for this matching rule when used to perform substring
matching, or
null
if this matching rule is not intended to be used for substring matching.
-
getSubstringMatchingRuleOID
@Nullable public java.lang.String getSubstringMatchingRuleOID()
Retrieves the OID for this matching rule when used to perform substring matching, if appropriate.- Specified by:
getSubstringMatchingRuleOID
in classMatchingRule
- Returns:
- The OID for this matching rule when used to perform substring
matching, or
null
if this matching rule is not intended to be used for substring matching.
-
valuesMatch
public boolean valuesMatch(@NotNull ASN1OctetString value1, @NotNull ASN1OctetString value2) throws LDAPException
Indicates whether the provided values are equal to each other, according to the constraints of this matching rule.- Specified by:
valuesMatch
in classMatchingRule
- Parameters:
value1
- The first value for which to make the determination.value2
- The second value for which to make the determination.- Returns:
true
if the provided values are considered equal, orfalse
if not.- Throws:
LDAPException
- If a problem occurs while making the determination, or if this matching rule does not support equality matching.
-
matchesAnyValue
public boolean matchesAnyValue(@NotNull ASN1OctetString assertionValue, @NotNull ASN1OctetString[] attributeValues) throws LDAPException
Indicates whether the provided assertion value matches any of the provided attribute values.- Overrides:
matchesAnyValue
in classMatchingRule
- Parameters:
assertionValue
- The assertion value for which to make the determination.attributeValues
- The set of attribute values to compare against the provided assertion value.- Returns:
true
if the provided assertion value matches any of the given attribute values, orfalse
if not.- Throws:
LDAPException
- If a problem occurs while making the determination, or if this matching rule does not support equality matching.
-
matchesSubstring
public boolean matchesSubstring(@NotNull ASN1OctetString value, @Nullable ASN1OctetString subInitial, @Nullable ASN1OctetString[] subAny, @Nullable ASN1OctetString subFinal) throws LDAPException
Indicates whether the provided value matches the given substring assertion, according to the constraints of this matching rule.- Specified by:
matchesSubstring
in classMatchingRule
- Parameters:
value
- The value for which to make the determination.subInitial
- The subInitial portion of the substring assertion, ornull
if there is no subInitial element.subAny
- The subAny elements of the substring assertion, ornull
if there are no subAny elements.subFinal
- The subFinal portion of the substring assertion, ornull
if there is no subFinal element.- Returns:
true
if the provided value matches the substring assertion, orfalse
if not.- Throws:
LDAPException
- If a problem occurs while making the determination, or if this matching rule does not support substring matching.
-
compareValues
public int compareValues(@NotNull ASN1OctetString value1, @NotNull ASN1OctetString value2) throws LDAPException
Compares the provided values to determine their relative order in a sorted list.- Specified by:
compareValues
in classMatchingRule
- Parameters:
value1
- The first value to compare.value2
- The second value to compare.- Returns:
- A negative value if
value1
should come beforevalue2
in a sorted list, a positive value ifvalue1
should come aftervalue2
in a sorted list, or zero if the values are equal or there is no distinction between their orders in a sorted list. - Throws:
LDAPException
- If a problem occurs while making the determination, or if this matching rule does not support ordering matching.
-
normalize
@NotNull public ASN1OctetString normalize(@NotNull ASN1OctetString value) throws LDAPException
Normalizes the provided value for easier matching.- Specified by:
normalize
in classMatchingRule
- Parameters:
value
- The value to be normalized.- Returns:
- The normalized form of the provided value.
- Throws:
LDAPException
- If a problem occurs while normalizing the provided value.
-
normalizeSubstring
@NotNull public ASN1OctetString normalizeSubstring(@NotNull ASN1OctetString value, byte substringType) throws LDAPException
Normalizes the provided value for use as part of a substring assertion.- Specified by:
normalizeSubstring
in classMatchingRule
- Parameters:
value
- The value to be normalized for use as part of a substring assertion.substringType
- The substring assertion component type for the provided value. It should be one ofSUBSTRING_TYPE_SUBINITIAL
,SUBSTRING_TYPE_SUBANY
, orSUBSTRING_TYPE_SUBFINAL
.- Returns:
- The normalized form of the provided value.
- Throws:
LDAPException
- If a problem occurs while normalizing the provided value.
-
-