Package org.forgerock.opendj.ldap
Class Matcher
- java.lang.Object
-
- org.forgerock.opendj.ldap.Matcher
-
public final class Matcher extends Object
A compiled searchFilterwhich may be used formatchingagainst entries.Compilationmay 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 classMatcher.MatcherTypeThe types of compiled matcher.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object obj)This method returnstruewhen two filters are equivalent.AssertiongetAssertion()Returns the assertion for this comparison filterMatcher.AttributeDescriptiongetAttributeDescription()Returns the attribute description for this comparison filterMatcher, which may benullif the filter is an extensible match filter specifying an extensible matching rule.Matcher.MatcherTypegetMatcherType()Returns the type of this filterMatcher.MatchergetNotSubMatcher()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.StringgetUndefinedReason()Returns the diagnostic reasons for this undefined filterMatcher.inthashCode()This method returns the same hash-code for any two equivalent filters.booleanisDnAttributes()Returns whether extensible matching should be performed against attributes in an entry's DN.ConditionResultmatches(Entry entry)Indicates whether this filterMatchermatches the providedEntry.StringtoString()
-
-
-
Method Detail
-
equals
public boolean equals(Object obj)
This method returnstruewhen 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 filterMatcheris 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 filterMatcheris not a NOT filter.
-
getAttributeDescription
public AttributeDescription getAttributeDescription()
Returns the attribute description for this comparison filterMatcher, which may benullif the filter is an extensible match filter specifying an extensible matching rule.- Returns:
- The attribute description for this comparison filter
Matcher, which may benullif the filter is an extensible match filter. - Throws:
UnsupportedOperationException- If this filterMatcheris 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 filterMatcheris 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 filterMatcheris 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 filterMatcheris not an extensible match filter.
-
matches
public ConditionResult matches(Entry entry)
Indicates whether this filterMatchermatches the providedEntry.- Parameters:
entry- The entry to be matched.- Returns:
- The result of matching the provided
Entryagainst this filterMatcher.
-
-