Package com.unboundid.ldap.matchingrules
Class SimpleMatchingRule
java.lang.Object
com.unboundid.ldap.matchingrules.MatchingRule
com.unboundid.ldap.matchingrules.SimpleMatchingRule
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
AcceptAllSimpleMatchingRule,NumericStringMatchingRule,TelephoneNumberMatchingRule
@Extensible
@ThreadSafety(level=COMPLETELY_THREADSAFE)
public abstract class SimpleMatchingRule
extends MatchingRule
This class provides a common matching rule framework that may be extended by
matching rule implementations in which equality, ordering, and substring
matching can all be made based on byte-for-byte comparisons of the normalized
value, for values that are considered acceptable by the
MatchingRule.normalize(com.unboundid.asn1.ASN1OctetString) and MatchingRule.normalizeSubstring(com.unboundid.asn1.ASN1OctetString, byte)
methods.- See Also:
-
Field Summary
Fields inherited from class com.unboundid.ldap.matchingrules.MatchingRule
SUBSTRING_TYPE_SUBANY, SUBSTRING_TYPE_SUBFINAL, SUBSTRING_TYPE_SUBINITIAL -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintcompareValues(ASN1OctetString value1, ASN1OctetString value2) Compares the provided values to determine their relative order in a sorted list.booleanmatchesAnyValue(ASN1OctetString assertionValue, ASN1OctetString[] attributeValues) Indicates whether the provided assertion value matches any of the provided attribute values.booleanmatchesSubstring(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.booleanvaluesMatch(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, getEqualityMatchingRuleName, getEqualityMatchingRuleNameOrOID, getEqualityMatchingRuleOID, getOrderingMatchingRuleName, getOrderingMatchingRuleNameOrOID, getOrderingMatchingRuleOID, getSubstringMatchingRuleName, getSubstringMatchingRuleNameOrOID, getSubstringMatchingRuleOID, normalize, normalizeSubstring, selectEqualityMatchingRule, selectEqualityMatchingRule, selectEqualityMatchingRule, selectMatchingRuleForSyntax, selectOrderingMatchingRule, selectOrderingMatchingRule, selectOrderingMatchingRule, selectSubstringMatchingRule, selectSubstringMatchingRule, selectSubstringMatchingRule
-
Constructor Details
-
SimpleMatchingRule
public SimpleMatchingRule()
-
-
Method Details
-
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:
valuesMatchin classMatchingRule- Parameters:
value1- The first value for which to make the determination.value2- The second value for which to make the determination.- Returns:
trueif the provided values are considered equal, orfalseif 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:
matchesAnyValuein 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:
trueif the provided assertion value matches any of the given attribute values, orfalseif 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:
matchesSubstringin classMatchingRule- Parameters:
value- The value for which to make the determination.subInitial- The subInitial portion of the substring assertion, ornullif there is no subInitial element.subAny- The subAny elements of the substring assertion, ornullif there are no subAny elements.subFinal- The subFinal portion of the substring assertion, ornullif there is no subFinal element.- Returns:
trueif the provided value matches the substring assertion, orfalseif 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:
compareValuesin classMatchingRule- Parameters:
value1- The first value to compare.value2- The second value to compare.- Returns:
- A negative value if
value1should come beforevalue2in a sorted list, a positive value ifvalue1should come aftervalue2in 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.
-