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

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:
  • Constructor Details

  • 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:
      valuesMatch in class MatchingRule
      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, or false 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 class MatchingRule
      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, or false if not.
      Throws:
      LDAPException - If a problem occurs while making the determination, or if this matching rule does not support equality matching.
    • matchesSubstring

      Indicates whether the provided value matches the given substring assertion, according to the constraints of this matching rule.
      Specified by:
      matchesSubstring in class MatchingRule
      Parameters:
      value - The value for which to make the determination.
      subInitial - The subInitial portion of the substring assertion, or null if there is no subInitial element.
      subAny - The subAny elements of the substring assertion, or null if there are no subAny elements.
      subFinal - The subFinal portion of the substring assertion, or null if there is no subFinal element.
      Returns:
      true if the provided value matches the substring assertion, or false if not.
      Throws:
      LDAPException - If a problem occurs while making the determination, or if this matching rule does not support substring matching.
    • compareValues

      Compares the provided values to determine their relative order in a sorted list.
      Specified by:
      compareValues in class MatchingRule
      Parameters:
      value1 - The first value to compare.
      value2 - The second value to compare.
      Returns:
      A negative value if value1 should come before value2 in a sorted list, a positive value if value1 should come after value2 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.