@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.
|
boolean |
matchesAnyValue(ASN1OctetString assertionValue,
ASN1OctetString[] attributeValues)
Indicates whether the provided assertion value matches any of the provided
attribute values.
|
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()
@Nullable public abstract java.lang.String getEqualityMatchingRuleName()
null
if this matching rule is not intended
to be used for equality matching.@Nullable public abstract java.lang.String getEqualityMatchingRuleOID()
null
if this matching rule is not intended
to be used for equality matching.@Nullable public java.lang.String getEqualityMatchingRuleNameOrOID()
null
if this matching rule cannot
be used to perform equality matching.@Nullable public abstract java.lang.String getOrderingMatchingRuleName()
null
if this matching rule is not intended
to be used for ordering matching.@Nullable public abstract java.lang.String getOrderingMatchingRuleOID()
null
if this matching rule is not intended
to be used for ordering matching.@Nullable public java.lang.String getOrderingMatchingRuleNameOrOID()
null
if this matching rule cannot
be used to perform equality matching.@Nullable public abstract java.lang.String getSubstringMatchingRuleName()
null
if this matching rule is not intended
to be used for substring matching.@Nullable public abstract java.lang.String getSubstringMatchingRuleOID()
null
if this matching rule is not intended
to be used for substring matching.@Nullable public java.lang.String getSubstringMatchingRuleNameOrOID()
null
if this matching rule cannot
be used to perform equality matching.public abstract boolean valuesMatch(@NotNull ASN1OctetString value1, @NotNull 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 boolean matchesAnyValue(@NotNull ASN1OctetString assertionValue, @NotNull ASN1OctetString[] attributeValues) throws LDAPException
assertionValue
- The assertion value for which to make the
determination.attributeValues
- The set of attribute values to compare against the
provided assertion value.true
if the provided assertion value matches any of the
given attribute values, 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(@NotNull ASN1OctetString value, @Nullable ASN1OctetString subInitial, @Nullable ASN1OctetString[] subAny, @Nullable 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(@NotNull ASN1OctetString value1, @NotNull 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.@NotNull public abstract ASN1OctetString normalize(@NotNull ASN1OctetString value) throws LDAPException
value
- The value to be normalized.LDAPException
- If a problem occurs while normalizing the provided
value.@NotNull public abstract ASN1OctetString normalizeSubstring(@NotNull 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.@NotNull public static MatchingRule selectEqualityMatchingRule(@NotNull java.lang.String attrName, @Nullable 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.@NotNull public static MatchingRule selectEqualityMatchingRule(@Nullable java.lang.String attrName, @Nullable java.lang.String ruleID, @Nullable 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.@NotNull public static MatchingRule selectEqualityMatchingRule(@NotNull java.lang.String ruleID)
ruleID
- The name or OID of the desired matching rule.@NotNull public static MatchingRule getDefaultEqualityMatchingRule()
@NotNull public static MatchingRule selectOrderingMatchingRule(@NotNull java.lang.String attrName, @Nullable 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.@NotNull public static MatchingRule selectOrderingMatchingRule(@Nullable java.lang.String attrName, @Nullable java.lang.String ruleID, @Nullable 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.@NotNull public static MatchingRule selectOrderingMatchingRule(@NotNull java.lang.String ruleID)
ruleID
- The name or OID of the desired matching rule.@NotNull public static MatchingRule getDefaultOrderingMatchingRule()
@NotNull public static MatchingRule selectSubstringMatchingRule(@NotNull java.lang.String attrName, @Nullable 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.@NotNull public static MatchingRule selectSubstringMatchingRule(@Nullable java.lang.String attrName, @Nullable java.lang.String ruleID, @Nullable 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.@NotNull public static MatchingRule selectSubstringMatchingRule(@NotNull java.lang.String ruleID)
ruleID
- The name or OID of the desired matching rule.@NotNull public static MatchingRule getDefaultSubstringMatchingRule()
@NotNull public static MatchingRule selectMatchingRuleForSyntax(@NotNull java.lang.String syntaxOID)
syntaxOID
- The OID of the attribute syntax for which to make the
determination.