From 2f28c948c02c1b3bb7961565e1d64a1684bc018c Mon Sep 17 00:00:00 2001
From: sin <sin@localhost>
Date: Sat, 31 Jan 2009 07:06:11 +0000
Subject: [PATCH] Integrating the changes related to Collation indexing support

---
 opendj-sdk/opends/src/server/org/opends/server/api/ExtensibleMatchingRule.java |   34 ++++++++++++++++++++++++++++++++--
 1 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/api/ExtensibleMatchingRule.java b/opendj-sdk/opends/src/server/org/opends/server/api/ExtensibleMatchingRule.java
index 6b25a58..798da0d 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/api/ExtensibleMatchingRule.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/api/ExtensibleMatchingRule.java
@@ -22,10 +22,14 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2008 Sun Microsystems, Inc.
+ *      Copyright 2008-2009 Sun Microsystems, Inc.
  */
 package org.opends.server.api;
 
+import java.util.Collection;
+import org.opends.server.types.ByteString;
+import org.opends.server.types.DirectoryException;
+import org.opends.server.types.IndexConfig;
 
 
 /**
@@ -40,7 +44,33 @@
      mayInvoke=false)
 public abstract class ExtensibleMatchingRule extends MatchingRule
 {
+  /**
+  * Returns a collection of extensible indexers associated with this
+  * matching rule.
+  * @param config The index configuration to be used by this
+  *                      matching rule.
+  * @return ExtensibleIndexer associated with this matching rule.
+  */
+  public  abstract Collection<ExtensibleIndexer> getIndexers(
+          IndexConfig config);
 
-  //TODO: Index Implementation.
 
+
+
+  /**
+   * Queries the index using factory of type T and returns
+   * a query of type T for the provided assertion value.
+   * @param  <T>  The type of IndexQueryFactory.
+   * @param  assertionValue  An assertion value which needs to be
+   *                                               queried.
+   * @param factory  An IndexQueryFactory which will be used for
+   *                                creating  queries.
+   * @return T  The generated index query.
+   * @throws DirectoryException  If an  error occurs while generating
+   *                the query.
+   */
+  public  abstract <T> T createIndexQuery(
+                   ByteString assertionValue,
+                   IndexQueryFactory<T> factory)
+                                          throws DirectoryException;
 }
\ No newline at end of file

--
Gitblit v1.10.0