From 22094368c2865dcfb6daf8366425212b721a4657 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Thu, 05 Feb 2009 17:42:14 +0000
Subject: [PATCH] Merge ASN1 branch to trunk

---
 opends/src/server/org/opends/server/api/IndexQueryFactory.java |  109 +++++++++++++++++++++++++++++++-----------------------
 1 files changed, 63 insertions(+), 46 deletions(-)

diff --git a/opends/src/server/org/opends/server/api/IndexQueryFactory.java b/opends/src/server/org/opends/server/api/IndexQueryFactory.java
index a4f173d..28e811f 100644
--- a/opends/src/server/org/opends/server/api/IndexQueryFactory.java
+++ b/opends/src/server/org/opends/server/api/IndexQueryFactory.java
@@ -26,39 +26,50 @@
  */
 package org.opends.server.api;
 
+
+
 import java.util.Collection;
 
+import org.opends.server.types.ByteSequence;
+
+
+
 /**
- * This class acts as a factory for creating index queries. This
+ * A factory for creating arbitrarily complex index queries. This
  * interface is implemented by the underlying backend implementation
  * and passed to extensible matching rules so that they can construct
  * arbitrarily complex index queries.
  *
- * @param  <T>  The type of Results  returned by the factory.
+ * @param <T>
+ *          The type of query created by this factory.
  */
 @org.opends.server.types.PublicAPI(
-     stability=org.opends.server.types.StabilityLevel.VOLATILE,
-     mayInstantiate=false,
-     mayExtend=true,
-     mayInvoke=false)
+    stability = org.opends.server.types.StabilityLevel.VOLATILE,
+    mayInstantiate = false,
+    mayExtend = true,
+    mayInvoke = false)
 public interface IndexQueryFactory<T>
 {
 
   /**
-   * Returns a query requesting an index record matching the
-   * provided key.
-   * @param indexID An identifier of the index type.
-   * @param key A byte array containing the key.
+   * Returns a query requesting an index record matching the provided
+   * key.
+   *
+   * @param indexID
+   *          An identifier of the index type.
+   * @param key
+   *          A byte sequence containing the key.
    * @return A query requesting the index record matching the key.
    */
-  T createExactMatchQuery(String indexID,byte[] key);
+  T createExactMatchQuery(String indexID, ByteSequence key);
 
 
 
   /**
-   * Returns a query requesting all  index records. A backend
-   * implementation may choose to return all or no records as
-   * part of the optimization.
+   * Returns a query requesting all index records. A backend
+   * implementation may choose to return all or no records as part of
+   * the optimization.
+   *
    * @return A query requesting all index records.
    */
   T createMatchAllQuery();
@@ -66,53 +77,59 @@
 
 
   /**
-   * Rreturns a query requesting all index records in the specified
+   * Returns a query requesting all index records in the specified
    * range.
-   * @param indexID An identifier of the index type.
-   * @param lower  The lower bound of the range.   A 0 length byte
-   *                      array indicates  no lower bound and the
-   *                      range will start from the smallest key.
-   * @param upper The upper bound of the range. A 0 length byte array
-   *                      indicates no upper bound and the range will
-   *                      end at  the largest key.
-   * @param lowerIncluded true if a key exactly matching the lower
-   *                       bound is included in the range, false if
-   *                       only keys strictly greater than the lower
-   *                       bound are included.This value is ignored if
-   *                       the lower bound is not specified.
-   * @param upperIncluded true if a key exactly matching the upper
-   *                      bound is included in the range, false if
-   *                      only keys strictly less than the upper
-   *                      bound are included. This value is ignored if
-   *                      the upper bound is not specified.
+   *
+   * @param indexID
+   *          An identifier of the index type.
+   * @param lower
+   *          The lower bound of the range. A 0 length byte array
+   *          indicates no lower bound and the range will start from
+   *          the smallest key.
+   * @param upper
+   *          The upper bound of the range. A 0 length byte array
+   *          indicates no upper bound and the range will end at the
+   *          largest key.
+   * @param lowerIncluded
+   *          true if a key exactly matching the lower bound is
+   *          included in the range, false if only keys strictly
+   *          greater than the lower bound are included.This value
+   *          is ignored if the lower bound is not specified.
+   * @param upperIncluded
+   *          true if a key exactly matching the upper bound is
+   *          included in the range, false if only keys strictly
+   *          less than the upper bound are included. This value is
+   *          ignored if the upper bound is not specified.
    * @return A query requesting all index records in the specified
-   * range.
+   *         range.
    */
-  T createRangeMatchQuery(
-                              String indexID,
-                              byte[]  lower,
-                              byte[] upper,
-                              boolean lowerIncluded,
-                              boolean upperIncluded);
+  T createRangeMatchQuery(String indexID, ByteSequence lower,
+      ByteSequence upper, boolean lowerIncluded,
+      boolean upperIncluded);
 
 
 
   /**
-   * Returns a query requesting  intersection from a Collection of
+   * Returns a query which returns the intersection of a collection of
    * sub-queries.
-   *@param  subquery  A Collection of sub-queries.
-   *@return A query requesting intersection of  the records.
+   *
+   * @param subquery
+   *          A collection of sub-queries.
+   * @return A query which returns the intersection of a collection of
+   *         sub-queries.
    */
   T createIntersectionQuery(Collection<T> subquery);
 
 
 
-
   /**
-   * Returns a query requesting union from a Collection of
+   * Returns a query which combines the results of a collection of
    * sub-queries.
-   * @param  subquery  A Collection of sub-queries.
-   * @return A query requesting union of the records.
+   *
+   * @param subquery
+   *          A collection of sub-queries.
+   * @return A query which combines the results of a collection of
+   *         sub-queries.
    */
   T createUnionQuery(Collection<T> subquery);
 }
\ No newline at end of file

--
Gitblit v1.10.0