Class HistoricalCsnRangeMatchingRuleImpl
- java.lang.Object
-
- org.opends.server.replication.plugin.HistoricalCsnRangeMatchingRuleImpl
-
- All Implemented Interfaces:
MatchingRuleImpl
public final class HistoricalCsnRangeMatchingRuleImpl extends Object implements MatchingRuleImpl
Extensible matching rule to allow a range search on CSNs for a given replica.It uses the same index as
HistoricalCsnOrderingMatchingRuleImpl
, but emulates a range search on a multivalued attribute. We can do that because the index is ordered by replica id and we're interested on a range search for a single replica only.
-
-
Constructor Summary
Constructors Constructor Description HistoricalCsnRangeMatchingRuleImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Collection<? extends Indexer>
createIndexers(Schema schema, IndexingOptions options)
Returns the indexers for this matching rule.Assertion
getAssertion(Schema schema, ByteString assertionValue)
Represents a filter for a CSN range on a replica id.MatchingRule.MatchingRuleType
getType()
Returns the type of this matching rule.ByteString
normalizeAttributeValue(Schema schema, ByteString value)
Retrieves the normalized form of the provided attribute value, which is best suited for efficiently performing matching operations on that value.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.forgerock.opendj.ldap.schema.MatchingRuleImpl
getOrderingAssertion, getSubstringAssertion
-
-
-
-
Method Detail
-
getType
public MatchingRule.MatchingRuleType getType()
Description copied from interface:MatchingRuleImpl
Returns the type of this matching rule.- Specified by:
getType
in interfaceMatchingRuleImpl
- Returns:
- the type of this matching rule.
-
getAssertion
public Assertion getAssertion(Schema schema, ByteString assertionValue) throws DecodeException
Represents a filter for a CSN range on a replica id.Expected syntax is: "OP1 CSN1[, OP2 CSN2]"; where OP1 is one of ">", ">=", OP2 is one of "<", "<=" or the other way around.
Example of valid filters:
- <= 0000018b6fc1f1861f3003d3e3c1, > 0000018b6fc1f1861f3003d3e3a0
- > 0000018b6fc1f1861f3003d3e3a0, <= 0000018b6fc1f1861f3003d3e3c1 (same as before)
- >= 0000018b6fc1f1861f3003d3e3c1
- < 0000018b6fc1f1861f3003d3e3a0
- Specified by:
getAssertion
in interfaceMatchingRuleImpl
- Parameters:
schema
- The schema in which this matching rule is defined.assertionValue
- The assertion value.- Returns:
- The compiled assertion.
- Throws:
DecodeException
- If the assertion value does not conform to the matching rule's assertion syntax.
-
normalizeAttributeValue
public ByteString normalizeAttributeValue(Schema schema, ByteString value) throws DecodeException
Description copied from interface:MatchingRuleImpl
Retrieves the normalized form of the provided attribute value, which is best suited for efficiently performing matching operations on that value. Equality and ordering matching rules should return a normalized representation which can be compared with other normalized values usingByteString.equals(Object)
andByteString.compareTo(ByteString)
.- Specified by:
normalizeAttributeValue
in interfaceMatchingRuleImpl
- Parameters:
schema
- The schema in which this matching rule is defined.value
- The attribute value to be normalized.- Returns:
- The normalized version of the provided attribute value.
- Throws:
DecodeException
- If an syntax error occurred while parsing the value.
-
createIndexers
public Collection<? extends Indexer> createIndexers(Schema schema, IndexingOptions options)
Description copied from interface:MatchingRuleImpl
Returns the indexers for this matching rule.- Specified by:
createIndexers
in interfaceMatchingRuleImpl
- Parameters:
schema
- The schema in which this matching rule is defined.options
- The indexing options.- Returns:
- a non null collection of indexers for this matching rule.
-
-