@Extensible @ThreadSafety(level=INTERFACE_THREADSAFE) public abstract class MatchingRule extends java.lang.Object implements java.io.Serializable
Modifier and Type | Field and Description |
---|---|
static byte |
SUBSTRING_TYPE_SUBANY
The substring element type used for subAny substring assertion components.
|
static byte |
SUBSTRING_TYPE_SUBFINAL
The substring element type used for subFinal substring assertion
components.
|
static byte |
SUBSTRING_TYPE_SUBINITIAL
The substring element type used for subInitial substring assertion
components.
|
Modifier | Constructor and Description |
---|---|
protected |
MatchingRule()
Creates a new instance of this matching rule.
|
Modifier and Type | Method and Description |
---|---|
abstract int |
compareValues(ASN1OctetString value1,
ASN1OctetString value2)
Compares the provided values to determine their relative order in a sorted
list.
|
static MatchingRule |
getDefaultEqualityMatchingRule()
Retrieves the default matching rule that will be used for equality matching
if no other matching rule is specified or available.
|
static MatchingRule |
getDefaultOrderingMatchingRule()
Retrieves the default matching rule that will be used for ordering matching
if no other matching rule is specified or available.
|
static MatchingRule |
getDefaultSubstringMatchingRule()
Retrieves the default matching rule that will be used for substring
matching if no other matching rule is specified or available.
|
abstract java.lang.String |
getEqualityMatchingRuleName()
Retrieves the name for this matching rule when used to perform equality
matching, if appropriate.
|
java.lang.String |
getEqualityMatchingRuleNameOrOID()
Retrieves the name for this matching rule when used to perform equality
matching if defined, or the OID if no name is available.
|
abstract java.lang.String |
getEqualityMatchingRuleOID()
Retrieves the OID for this matching rule when used to perform equality
matching, if appropriate.
|
abstract java.lang.String |
getOrderingMatchingRuleName()
Retrieves the name for this matching rule when used to perform ordering
matching, if appropriate.
|
java.lang.String |
getOrderingMatchingRuleNameOrOID()
Retrieves the name for this matching rule when used to perform ordering
matching if defined, or the OID if no name is available.
|
abstract java.lang.String |
getOrderingMatchingRuleOID()
Retrieves the OID for this matching rule when used to perform ordering
matching, if appropriate.
|
abstract java.lang.String |
getSubstringMatchingRuleName()
Retrieves the name for this matching rule when used to perform substring
matching, if appropriate.
|
java.lang.String |
getSubstringMatchingRuleNameOrOID()
Retrieves the name for this matching rule when used to perform substring
matching if defined, or the OID if no name is available.
|
abstract java.lang.String |
getSubstringMatchingRuleOID()
Retrieves the OID for this matching rule when used to perform substring
matching, if appropriate.
|
abstract 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.
|
abstract ASN1OctetString |
normalize(ASN1OctetString value)
Normalizes the provided value for easier matching.
|
abstract ASN1OctetString |
normalizeSubstring(ASN1OctetString value,
byte substringType)
Normalizes the provided value for use as part of a substring assertion.
|
static MatchingRule |
selectEqualityMatchingRule(java.lang.String ruleID)
Attempts to select the appropriate matching rule to use for equality
matching using the specified matching rule.
|
static MatchingRule |
selectEqualityMatchingRule(java.lang.String attrName,
Schema schema)
Attempts to select the appropriate matching rule to use for equality
matching against the specified attribute.
|
static MatchingRule |
selectEqualityMatchingRule(java.lang.String attrName,
java.lang.String ruleID,
Schema schema)
Attempts to select the appropriate matching rule to use for equality
matching against the specified attribute.
|
static MatchingRule |
selectMatchingRuleForSyntax(java.lang.String syntaxOID)
Attempts to select the appropriate matching rule for use with the syntax
with the specified OID.
|
static MatchingRule |
selectOrderingMatchingRule(java.lang.String ruleID)
Attempts to select the appropriate matching rule to use for ordering
matching using the specified matching rule.
|
static MatchingRule |
selectOrderingMatchingRule(java.lang.String attrName,
Schema schema)
Attempts to select the appropriate matching rule to use for ordering
matching against the specified attribute.
|
static MatchingRule |
selectOrderingMatchingRule(java.lang.String attrName,
java.lang.String ruleID,
Schema schema)
Attempts to select the appropriate matching rule to use for ordering
matching against the specified attribute.
|
static MatchingRule |
selectSubstringMatchingRule(java.lang.String ruleID)
Attempts to select the appropriate matching rule to use for substring
matching using the specified matching rule.
|
static MatchingRule |
selectSubstringMatchingRule(java.lang.String attrName,
Schema schema)
Attempts to select the appropriate matching rule to use for substring
matching against the specified attribute.
|
static MatchingRule |
selectSubstringMatchingRule(java.lang.String attrName,
java.lang.String ruleID,
Schema schema)
Attempts to select the appropriate matching rule to use for substring
matching against the specified attribute.
|
abstract boolean |
valuesMatch(ASN1OctetString value1,
ASN1OctetString value2)
Indicates whether the provided values are equal to each other, according to
the constraints of this matching rule.
|
public static final byte SUBSTRING_TYPE_SUBINITIAL
public static final byte SUBSTRING_TYPE_SUBANY
public static final byte SUBSTRING_TYPE_SUBFINAL
protected MatchingRule()
public abstract java.lang.String getEqualityMatchingRuleName()
null
if this matching rule is not intended
to be used for equality matching.public abstract java.lang.String getEqualityMatchingRuleOID()
null
if this matching rule is not intended
to be used for equality matching.public java.lang.String getEqualityMatchingRuleNameOrOID()
null
if this matching rule cannot
be used to perform equality matching.public abstract java.lang.String getOrderingMatchingRuleName()
null
if this matching rule is not intended
to be used for ordering matching.public abstract java.lang.String getOrderingMatchingRuleOID()
null
if this matching rule is not intended
to be used for ordering matching.public java.lang.String getOrderingMatchingRuleNameOrOID()
null
if this matching rule cannot
be used to perform equality matching.public abstract java.lang.String getSubstringMatchingRuleName()
null
if this matching rule is not intended
to be used for substring matching.public abstract java.lang.String getSubstringMatchingRuleOID()
null
if this matching rule is not intended
to be used for substring matching.public java.lang.String getSubstringMatchingRuleNameOrOID()
null
if this matching rule cannot
be used to perform equality matching.public abstract boolean valuesMatch(ASN1OctetString value1, ASN1OctetString value2) throws LDAPException
value1
- The first value for which to make the determination.value2
- The second value for which to make the determination.true
if the provided values are considered equal, or
false
if not.LDAPException
- If a problem occurs while making the determination,
or if this matching rule does not support equality
matching.public abstract boolean matchesSubstring(ASN1OctetString value, ASN1OctetString subInitial, ASN1OctetString[] subAny, ASN1OctetString subFinal) throws LDAPException
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.true
if the provided value matches the substring
assertion, or false
if not.LDAPException
- If a problem occurs while making the determination,
or if this matching rule does not support substring
matching.public abstract int compareValues(ASN1OctetString value1, ASN1OctetString value2) throws LDAPException
value1
- The first value to compare.value2
- The second value to compare.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.LDAPException
- If a problem occurs while making the determination,
or if this matching rule does not support ordering
matching.public abstract ASN1OctetString normalize(ASN1OctetString value) throws LDAPException
value
- The value to be normalized.LDAPException
- If a problem occurs while normalizing the provided
value.public abstract ASN1OctetString normalizeSubstring(ASN1OctetString value, byte substringType) throws LDAPException
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
.LDAPException
- If a problem occurs while normalizing the provided
value.public static MatchingRule selectEqualityMatchingRule(java.lang.String attrName, Schema schema)
attrName
- The name of the attribute to examine in the provided
schema.schema
- The schema to examine to make the appropriate
determination. If this is null
, then the default
equality matching rule will be selected.public static MatchingRule selectEqualityMatchingRule(java.lang.String attrName, java.lang.String ruleID, Schema schema)
attrName
- The name of the attribute to examine in the provided
schema. It may be null
if the matching rule
should be selected using the matching rule ID.ruleID
- The OID of the desired matching rule. It may be
null
if the matching rule should be selected only
using the attribute name. If a rule ID is provided, then
it will be the only criteria used to select the matching
rule.schema
- The schema to examine to make the appropriate
determination. If this is null
and no rule ID
was provided, then the default equality matching rule
will be selected.public static MatchingRule selectEqualityMatchingRule(java.lang.String ruleID)
ruleID
- The name or OID of the desired matching rule.public static MatchingRule getDefaultEqualityMatchingRule()
public static MatchingRule selectOrderingMatchingRule(java.lang.String attrName, Schema schema)
attrName
- The name of the attribute to examine in the provided
schema.schema
- The schema to examine to make the appropriate
determination. If this is null
, then the default
ordering matching rule will be selected.public static MatchingRule selectOrderingMatchingRule(java.lang.String attrName, java.lang.String ruleID, Schema schema)
attrName
- The name of the attribute to examine in the provided
schema. It may be null
if the matching rule
should be selected using the matching rule ID.ruleID
- The OID of the desired matching rule. It may be
null
if the matching rule should be selected only
using the attribute name. If a rule ID is provided, then
it will be the only criteria used to select the matching
rule.schema
- The schema to examine to make the appropriate
determination. If this is null
and no rule ID
was provided, then the default ordering matching rule
will be selected.public static MatchingRule selectOrderingMatchingRule(java.lang.String ruleID)
ruleID
- The name or OID of the desired matching rule.public static MatchingRule getDefaultOrderingMatchingRule()
public static MatchingRule selectSubstringMatchingRule(java.lang.String attrName, Schema schema)
attrName
- The name of the attribute to examine in the provided
schema.schema
- The schema to examine to make the appropriate
determination. If this is null
, then the default
substring matching rule will be selected.public static MatchingRule selectSubstringMatchingRule(java.lang.String attrName, java.lang.String ruleID, Schema schema)
attrName
- The name of the attribute to examine in the provided
schema. It may be null
if the matching rule
should be selected using the matching rule ID.ruleID
- The OID of the desired matching rule. It may be
null
if the matching rule should be selected only
using the attribute name. If a rule ID is provided, then
it will be the only criteria used to select the matching
rule.schema
- The schema to examine to make the appropriate
determination. If this is null
and no rule ID
was provided, then the default substring matching rule
will be selected.public static MatchingRule selectSubstringMatchingRule(java.lang.String ruleID)
ruleID
- The name or OID of the desired matching rule.public static MatchingRule getDefaultSubstringMatchingRule()
public static MatchingRule selectMatchingRuleForSyntax(java.lang.String syntaxOID)
syntaxOID
- The OID of the attribute syntax for which to make the
determination.