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