com.unboundid.ldap.matchingrules
Class CaseIgnoreListMatchingRule

java.lang.Object
  extended by com.unboundid.ldap.matchingrules.MatchingRule
      extended by com.unboundid.ldap.matchingrules.CaseIgnoreListMatchingRule
All Implemented Interfaces:
java.io.Serializable

public final class CaseIgnoreListMatchingRule
extends MatchingRule

This class provides an implementation of a matching rule that may be used to process values containing lists of items, in which each item is separated by a dollar sign ($) character. Substring matching is also supported, but ordering matching is not.

See Also:
Serialized Form

Field Summary
static java.lang.String EQUALITY_RULE_NAME
          The name for the caseIgnoreListMatch equality matching rule.
static java.lang.String EQUALITY_RULE_OID
          The OID for the caseIgnoreListMatch equality matching rule.
static java.lang.String SUBSTRING_RULE_NAME
          The name for the caseIgnoreListSubstringsMatch substring matching rule.
static java.lang.String SUBSTRING_RULE_OID
          The OID for the caseIgnoreListSubstringsMatch substring matching rule.
 
Fields inherited from class com.unboundid.ldap.matchingrules.MatchingRule
SUBSTRING_TYPE_SUBANY, SUBSTRING_TYPE_SUBFINAL, SUBSTRING_TYPE_SUBINITIAL
 
Constructor Summary
CaseIgnoreListMatchingRule()
          Creates a new instance of this case-ignore list matching rule.
 
Method Summary
 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 CaseIgnoreListMatchingRule getInstance()
          Retrieves a singleton instance of this matching rule.
static java.util.List<java.lang.String> getItems(ASN1OctetString value)
          Retrieves a list of the items contained in the provided value.
static java.util.List<java.lang.String> getItems(java.lang.String value)
          Retrieves a list of the items contained in the provided value.
static java.util.List<java.lang.String> getLowercaseItems(ASN1OctetString value)
          Retrieves a list of the lowercase representations of the items contained in the provided value.
static java.util.List<java.lang.String> getLowercaseItems(java.lang.String value)
          Retrieves a list of the lowercase representations of the items contained in the provided value.
 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 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EQUALITY_RULE_NAME

public static final java.lang.String EQUALITY_RULE_NAME
The name for the caseIgnoreListMatch equality matching rule.

See Also:
Constant Field Values

EQUALITY_RULE_OID

public static final java.lang.String EQUALITY_RULE_OID
The OID for the caseIgnoreListMatch equality matching rule.

See Also:
Constant Field Values

SUBSTRING_RULE_NAME

public static final java.lang.String SUBSTRING_RULE_NAME
The name for the caseIgnoreListSubstringsMatch substring matching rule.

See Also:
Constant Field Values

SUBSTRING_RULE_OID

public static final java.lang.String SUBSTRING_RULE_OID
The OID for the caseIgnoreListSubstringsMatch substring matching rule.

See Also:
Constant Field Values
Constructor Detail

CaseIgnoreListMatchingRule

public CaseIgnoreListMatchingRule()
Creates a new instance of this case-ignore list matching rule.

Method Detail

getInstance

public static CaseIgnoreListMatchingRule getInstance()
Retrieves a singleton instance of this matching rule.

Returns:
A singleton instance of this matching rule.

getEqualityMatchingRuleName

public java.lang.String getEqualityMatchingRuleName()
Retrieves the name for this matching rule when used to perform equality matching, if appropriate.

Specified by:
getEqualityMatchingRuleName in class MatchingRule
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

public java.lang.String getEqualityMatchingRuleOID()
Retrieves the OID for this matching rule when used to perform equality matching, if appropriate.

Specified by:
getEqualityMatchingRuleOID in class MatchingRule
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

public java.lang.String getOrderingMatchingRuleName()
Retrieves the name for this matching rule when used to perform ordering matching, if appropriate.

Specified by:
getOrderingMatchingRuleName in class MatchingRule
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

public java.lang.String getOrderingMatchingRuleOID()
Retrieves the OID for this matching rule when used to perform ordering matching, if appropriate.

Specified by:
getOrderingMatchingRuleOID in class MatchingRule
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

public java.lang.String getSubstringMatchingRuleName()
Retrieves the name for this matching rule when used to perform substring matching, if appropriate.

Specified by:
getSubstringMatchingRuleName in class MatchingRule
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

public java.lang.String getSubstringMatchingRuleOID()
Retrieves the OID for this matching rule when used to perform substring matching, if appropriate.

Specified by:
getSubstringMatchingRuleOID in class MatchingRule
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(ASN1OctetString value1,
                           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.

matchesSubstring

public boolean matchesSubstring(ASN1OctetString value,
                                ASN1OctetString subInitial,
                                ASN1OctetString[] subAny,
                                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 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

public int compareValues(ASN1OctetString value1,
                         ASN1OctetString value2)
                  throws LDAPException
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.

normalize

public ASN1OctetString normalize(ASN1OctetString value)
                          throws LDAPException
Normalizes the provided value for easier matching.

Specified by:
normalize in class MatchingRule
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

public ASN1OctetString normalizeSubstring(ASN1OctetString value,
                                          byte substringType)
                                   throws LDAPException
Normalizes the provided value for use as part of a substring assertion.

Specified by:
normalizeSubstring in class MatchingRule
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 of SUBSTRING_TYPE_SUBINITIAL, SUBSTRING_TYPE_SUBANY, or SUBSTRING_TYPE_SUBFINAL.
Returns:
The normalized form of the provided value.
Throws:
LDAPException - If a problem occurs while normalizing the provided value.

getItems

public static java.util.List<java.lang.String> getItems(ASN1OctetString value)
                                                 throws LDAPException
Retrieves a list of the items contained in the provided value. The items will use the case of the provided value.

Parameters:
value - The value for which to obtain the list of items. It must not be null.
Returns:
An unmodifiable list of the items contained in the provided value.
Throws:
LDAPException - If the provided value does not represent a valid list in accordance with this matching rule.

getItems

public static java.util.List<java.lang.String> getItems(java.lang.String value)
                                                 throws LDAPException
Retrieves a list of the items contained in the provided value. The items will use the case of the provided value.

Parameters:
value - The value for which to obtain the list of items. It must not be null.
Returns:
An unmodifiable list of the items contained in the provided value.
Throws:
LDAPException - If the provided value does not represent a valid list in accordance with this matching rule.

getLowercaseItems

public static java.util.List<java.lang.String> getLowercaseItems(ASN1OctetString value)
                                                          throws LDAPException
Retrieves a list of the lowercase representations of the items contained in the provided value.

Parameters:
value - The value for which to obtain the list of items. It must not be null.
Returns:
An unmodifiable list of the items contained in the provided value.
Throws:
LDAPException - If the provided value does not represent a valid list in accordance with this matching rule.

getLowercaseItems

public static java.util.List<java.lang.String> getLowercaseItems(java.lang.String value)
                                                          throws LDAPException
Retrieves a list of the lowercase representations of the items contained in the provided value.

Parameters:
value - The value for which to obtain the list of items. It must not be null.
Returns:
An unmodifiable list of the items contained in the provided value.
Throws:
LDAPException - If the provided value does not represent a valid list in accordance with this matching rule.