Package org.forgerock.opendj.ldap
Class Matcher
- java.lang.Object
-
- org.forgerock.opendj.ldap.Matcher
-
public final class Matcher extends Object
A compiled searchFilter
which may be used formatching
against entries.Compilation
may produce an optimized matcher having a different structure to the original filter. In particular, filter components may be simplified, removed, or re-ordered. Equivalent matchers compare equal usingequals(Object)
and produce the samehashCode()
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Matcher.MatcherType
The types of compiled matcher.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object obj)
This method returnstrue
when two filters are equivalent.Assertion
getAssertion()
Returns the assertion for this comparison filterMatcher
.AttributeDescription
getAttributeDescription()
Returns the attribute description for this comparison filterMatcher
, which may benull
if the filter is an extensible match filter specifying an extensible matching rule.Matcher.MatcherType
getMatcherType()
Returns the type of this filterMatcher
.Matcher
getNotSubMatcher()
Returns the sub-matcher for this NOT filterMatcher
.List<Matcher>
getSubMatchers()
Returns an unmodifiable list containing the sub-matchers for this AND or OR filterMatcher
.String
getUndefinedReason()
Returns the diagnostic reasons for this undefined filterMatcher
.int
hashCode()
This method returns the same hash-code for any two equivalent filters.boolean
isDnAttributes()
Returns whether extensible matching should be performed against attributes in an entry's DN.ConditionResult
matches(Entry entry)
Indicates whether this filterMatcher
matches the providedEntry
.String
toString()
-
-
-
Method Detail
-
equals
public boolean equals(Object obj)
This method returnstrue
when two filters are equivalent. In particular, the attribute descriptions "cn" and "commonName" will be treated the same, as will AND/OR filters containing the same sub-filters regardless of their order.
-
hashCode
public int hashCode()
This method returns the same hash-code for any two equivalent filters. In particular, the attribute descriptions "cn" and "commonName" will be treated the same, as will AND/OR filters containing the same sub-filters regardless of their order.
-
getMatcherType
public Matcher.MatcherType getMatcherType()
Returns the type of this filterMatcher
.- Returns:
- The type of this filter
Matcher
.
-
getSubMatchers
public List<Matcher> getSubMatchers()
Returns an unmodifiable list containing the sub-matchers for this AND or OR filterMatcher
.- Returns:
- An unmodifiable list containing the sub-matchers for this AND or OR filter
Matcher
. - Throws:
UnsupportedOperationException
- If this filterMatcher
is not an AND or OR filter.
-
getNotSubMatcher
public Matcher getNotSubMatcher()
Returns the sub-matcher for this NOT filterMatcher
.- Returns:
- The sub-matcher for this NOT filter
Matcher
. - Throws:
UnsupportedOperationException
- If this filterMatcher
is not a NOT filter.
-
getAttributeDescription
public AttributeDescription getAttributeDescription()
Returns the attribute description for this comparison filterMatcher
, which may benull
if the filter is an extensible match filter specifying an extensible matching rule.- Returns:
- The attribute description for this comparison filter
Matcher
, which may benull
if the filter is an extensible match filter. - Throws:
UnsupportedOperationException
- If this filterMatcher
is not an equality, greater than, less than, approximate, presence, substrings, or extensible match filter.
-
getAssertion
public Assertion getAssertion()
Returns the assertion for this comparison filterMatcher
.- Returns:
- The assertion for this comparison filter
Matcher
. - Throws:
UnsupportedOperationException
- If this filterMatcher
is not an equality, greater than, less than, approximate, or extensible match filter.
-
getUndefinedReason
public String getUndefinedReason()
Returns the diagnostic reasons for this undefined filterMatcher
.- Returns:
- The diagnostic reasons for this undefined filter
Matcher
. - Throws:
UnsupportedOperationException
- If this filterMatcher
is not an undefined match filter.
-
isDnAttributes
public boolean isDnAttributes()
Returns whether extensible matching should be performed against attributes in an entry's DN.- Returns:
- Whether extensible matching should be performed against attributes in an entry's DN.
- Throws:
UnsupportedOperationException
- If this filterMatcher
is not an extensible match filter.
-
matches
public ConditionResult matches(Entry entry)
Indicates whether this filterMatcher
matches the providedEntry
.- Parameters:
entry
- The entry to be matched.- Returns:
- The result of matching the provided
Entry
against this filterMatcher
.
-
-