From f2160f4bd1c8ac67e5a86a6710d431e8932877f9 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Fri, 28 May 2010 11:47:51 +0000
Subject: [PATCH] Synchronize SDK on java.net with internal repository.

---
 sdk/src/org/opends/sdk/requests/SearchRequest.java |  408 +++++++++++++++++-----------------------------------------
 1 files changed, 120 insertions(+), 288 deletions(-)

diff --git a/sdk/src/org/opends/sdk/requests/SearchRequest.java b/sdk/src/org/opends/sdk/requests/SearchRequest.java
index d46618a..38e00dc 100644
--- a/sdk/src/org/opends/sdk/requests/SearchRequest.java
+++ b/sdk/src/org/opends/sdk/requests/SearchRequest.java
@@ -29,57 +29,34 @@
 
 
 
-import java.util.Collection;
+import java.util.List;
 
 import org.opends.sdk.*;
 import org.opends.sdk.controls.Control;
-
+import org.opends.sdk.controls.ControlDecoder;
 
 
 
 /**
- * The Search operation is used to request a server to return, subject
- * to access controls and other restrictions, a set of entries matching
- * a complex search criterion. This can be used to read attributes from
- * a single entry, from entries immediately subordinate to a particular
- * entry, or from a whole subtree of entries.
+ * The Search operation is used to request a server to return, subject to access
+ * controls and other restrictions, a set of entries matching a complex search
+ * criterion. This can be used to read attributes from a single entry, from
+ * entries immediately subordinate to a particular entry, or from a whole
+ * subtree of entries.
  */
 public interface SearchRequest extends Request
 {
   /**
-   * Adds the provided attribute names to the list of attributes to be
-   * included with each entry that matches the search criteria.
-   * Attributes that are sub-types of listed attributes are implicitly
-   * included.
-   * 
-   * @param attributeDescriptions
-   *          The names of the attributes to be included with each
-   *          entry.
-   * @return This search request.
-   * @throws UnsupportedOperationException
-   *           If this search request does not permit attribute names to
-   *           be added.
-   * @throws NullPointerException
-   *           If {@code attributeDescriptions} was {@code null}, or if
-   *           it contained a {@code null} element.
-   */
-  SearchRequest addAttribute(Collection<String> attributeDescriptions)
-      throws UnsupportedOperationException, NullPointerException;
-
-
-
-  /**
-   * Adds the provided attribute name to the list of attributes to be
-   * included with each entry that matches the search criteria.
-   * Attributes that are sub-types of listed attributes are implicitly
-   * included.
-   * 
+   * Adds the provided attribute name to the list of attributes to be included
+   * with each entry that matches the search criteria. Attributes that are
+   * sub-types of listed attributes are implicitly included.
+   *
    * @param attributeDescription
    *          The name of the attribute to be included with each entry.
    * @return This search request.
    * @throws UnsupportedOperationException
-   *           If this search request does not permit attribute names to
-   *           be added.
+   *           If this search request does not permit attribute names to be
+   *           added.
    * @throws NullPointerException
    *           If {@code attributeDescription} was {@code null}.
    */
@@ -89,37 +66,7 @@
 
 
   /**
-   * Adds the provided attribute names to the list of attributes to be
-   * included with each entry that matches the search criteria.
-   * Attributes that are sub-types of listed attributes are implicitly
-   * included.
-   * 
-   * @param attributeDescriptions
-   *          The names of the attributes to be included with each
-   *          entry.
-   * @return This search request.
-   * @throws UnsupportedOperationException
-   *           If this search request does not permit attribute names to
-   *           be added.
-   * @throws NullPointerException
-   *           If {@code attributeDescriptions} was {@code null}, or if
-   *           it contained a {@code null} element.
-   */
-  SearchRequest addAttribute(String... attributeDescriptions)
-      throws UnsupportedOperationException, NullPointerException;
-
-
-
-  /**
-   * Adds the provided control to this request.
-   * 
-   * @param control
-   *          The control to be added to this request.
-   * @return This request.
-   * @throws UnsupportedOperationException
-   *           If this request does not permit controls to be added.
-   * @throws NullPointerException
-   *           If {@code control} was {@code null}.
+   * {@inheritDoc}
    */
   SearchRequest addControl(Control control)
       throws UnsupportedOperationException, NullPointerException;
@@ -127,73 +74,36 @@
 
 
   /**
-   * Clears the list of attributes to be included with each entry that
-   * matches the search criteria. Attributes that are sub-types of
-   * listed attributes are implicitly included.
-   * 
-   * @return This search request.
-   * @throws UnsupportedOperationException
-   *           If this search request does not permit attributes to be
-   *           removed.
+   * Returns a {@code List} containing the list of attributes to be included
+   * with each entry that matches the search criteria. Attributes that are
+   * sub-types of listed attributes are implicitly included. The returned
+   * {@code List} may be modified if permitted by this search request.
+   *
+   * @return A {@code List} containing the list of attributes.
    */
-  SearchRequest clearAttributes() throws UnsupportedOperationException;
+  List<String> getAttributes();
 
 
 
   /**
-   * Removes all the controls included with this request.
-   * 
-   * @return This request.
-   * @throws UnsupportedOperationException
-   *           If this request does not permit controls to be removed.
+   * {@inheritDoc}
    */
-  SearchRequest clearControls() throws UnsupportedOperationException;
+  <C extends Control> C getControl(ControlDecoder<C> decoder,
+      DecodeOptions options) throws NullPointerException, DecodeException;
 
 
 
   /**
-   * Returns an {@code Iterable} containing the list of attributes to be
-   * included with each entry that matches the search criteria.
-   * Attributes that are sub-types of listed attributes are implicitly
-   * included. The returned {@code Iterable} may be used to remove
-   * attribute names if permitted by this search request.
-   * 
-   * @return An {@code Iterable} containing the list of attributes.
+   * {@inheritDoc}
    */
-  Iterable<String> getAttributes();
-
-
-
-  /**
-   * Returns the first control contained in this request having the
-   * specified OID.
-   * 
-   * @param oid
-   *          The OID of the control to be returned.
-   * @return The control, or {@code null} if the control is not included
-   *         with this request.
-   * @throws NullPointerException
-   *           If {@code oid} was {@code null}.
-   */
-  Control getControl(String oid) throws NullPointerException;
-
-
-
-  /**
-   * Returns an {@code Iterable} containing the controls included with
-   * this request. The returned {@code Iterable} may be used to remove
-   * controls if permitted by this request.
-   * 
-   * @return An {@code Iterable} containing the controls.
-   */
-  Iterable<Control> getControls();
+  List<Control> getControls();
 
 
 
   /**
    * Returns an indication as to whether or not alias entries are to be
    * dereferenced during the search.
-   * 
+   *
    * @return The alias dereferencing policy.
    */
   DereferenceAliasesPolicy getDereferenceAliasesPolicy();
@@ -201,9 +111,9 @@
 
 
   /**
-   * Returns the filter that defines the conditions that must be
-   * fulfilled in order for an entry to be returned.
-   * 
+   * Returns the filter that defines the conditions that must be fulfilled in
+   * order for an entry to be returned.
+   *
    * @return The search filter.
    */
   Filter getFilter();
@@ -211,9 +121,9 @@
 
 
   /**
-   * Returns the distinguished name of the base entry relative to which
-   * the search is to be performed.
-   * 
+   * Returns the distinguished name of the base entry relative to which the
+   * search is to be performed.
+   *
    * @return The distinguished name of the base entry.
    */
   DN getName();
@@ -222,7 +132,7 @@
 
   /**
    * Returns the scope of the search.
-   * 
+   *
    * @return The search scope.
    */
   SearchScope getScope();
@@ -230,183 +140,114 @@
 
 
   /**
-   * Returns the size limit that should be used in order to restrict the
-   * maximum number of entries returned by the search.
+   * Returns the size limit that should be used in order to restrict the maximum
+   * number of entries returned by the search.
    * <p>
    * A value of zero (the default) in this field indicates that no
-   * client-requested size limit restrictions are in effect. Servers may
-   * also enforce a maximum number of entries to return.
-   * 
-   * @return The size limit that should be used in order to restrict the
-   *         maximum number of entries returned by the search.
+   * client-requested size limit restrictions are in effect. Servers may also
+   * enforce a maximum number of entries to return.
+   *
+   * @return The size limit that should be used in order to restrict the maximum
+   *         number of entries returned by the search.
    */
   int getSizeLimit();
 
 
 
   /**
-   * Returns the time limit that should be used in order to restrict the
-   * maximum time (in seconds) allowed for the search.
+   * Returns the time limit that should be used in order to restrict the maximum
+   * time (in seconds) allowed for the search.
    * <p>
    * A value of zero (the default) in this field indicates that no
-   * client-requested time limit restrictions are in effect for the
-   * search. Servers may also enforce a maximum time limit for the
-   * search.
-   * 
-   * @return The time limit that should be used in order to restrict the
-   *         maximum time (in seconds) allowed for the search.
+   * client-requested time limit restrictions are in effect for the search.
+   * Servers may also enforce a maximum time limit for the search.
+   *
+   * @return The time limit that should be used in order to restrict the maximum
+   *         time (in seconds) allowed for the search.
    */
   int getTimeLimit();
 
 
 
   /**
-   * Indicates whether or not this search request has a list of
-   * attributes to be included with each entry that matches the search
-   * criteria.
-   * 
-   * @return {@code true} if this search request has a list of
-   *         attributes to be included with each entry, otherwise
-   *         {@code false}.
-   */
-  boolean hasAttributes();
-
-
-
-  /**
-   * Indicates whether or not this request has any controls.
-   * 
-   * @return {@code true} if this request has any controls, otherwise
-   *         {@code false}.
-   */
-  boolean hasControls();
-
-
-
-  /**
-   * Indicates whether search results are to contain both attribute
-   * descriptions and values, or just attribute descriptions.
-   * 
-   * @return {@code true} if only attribute descriptions (and not
-   *         values) are to be returned, or {@code false} (the default)
-   *         if both attribute descriptions and values are to be
-   *         returned.
+   * Indicates whether search results are to contain both attribute descriptions
+   * and values, or just attribute descriptions.
+   *
+   * @return {@code true} if only attribute descriptions (and not values) are to
+   *         be returned, or {@code false} (the default) if both attribute
+   *         descriptions and values are to be returned.
    */
   boolean isTypesOnly();
 
 
 
   /**
-   * Removes the provided attribute name from the list of attributes to
-   * be included with each entry that matches the search criteria.
-   * Attributes that are sub-types of listed attributes are implicitly
-   * included.
-   * 
-   * @param attributeDescription
-   *          The name of the attribute to be removed.
-   * @return {@code true} if the attribute name was found in the list of
-   *         attributes.
-   * @throws UnsupportedOperationException
-   *           If this search request does not permit attribute names to
-   *           be removed.
-   * @throws NullPointerException
-   *           If {@code attributeDescription} was {@code null}.
-   */
-  boolean removeAttribute(String attributeDescription)
-      throws UnsupportedOperationException, NullPointerException;
-
-
-
-  /**
-   * Removes the first control contained in this request having the
-   * specified OID.
-   * 
-   * @param oid
-   *          The OID of the control to be removed.
-   * @return The removed control, or {@code null} if the control is not
-   *         included with this request.
-   * @throws UnsupportedOperationException
-   *           If this request does not permit controls to be removed.
-   * @throws NullPointerException
-   *           If {@code oid} was {@code null}.
-   */
-  Control removeControl(String oid)
-      throws UnsupportedOperationException, NullPointerException;
-
-
-
-  /**
    * Sets the alias dereferencing policy to be used during the search.
-   * 
+   *
    * @param policy
-   *          The alias dereferencing policy to be used during the
-   *          search.
+   *          The alias dereferencing policy to be used during the search.
    * @return This search request.
    * @throws UnsupportedOperationException
-   *           If this search request does not permit the alias
-   *           dereferencing policy to be set.
+   *           If this search request does not permit the alias dereferencing
+   *           policy to be set.
    * @throws NullPointerException
    *           If {@code policy} was {@code null}.
    */
-  SearchRequest setDereferenceAliasesPolicy(
-      DereferenceAliasesPolicy policy)
+  SearchRequest setDereferenceAliasesPolicy(DereferenceAliasesPolicy policy)
       throws UnsupportedOperationException, NullPointerException;
 
 
 
   /**
-   * Sets the filter that defines the conditions that must be fulfilled
-   * in order for an entry to be returned.
-   * 
+   * Sets the filter that defines the conditions that must be fulfilled in order
+   * for an entry to be returned.
+   *
    * @param filter
-   *          The filter that defines the conditions that must be
-   *          fulfilled in order for an entry to be returned.
+   *          The filter that defines the conditions that must be fulfilled in
+   *          order for an entry to be returned.
    * @return This search request.
    * @throws UnsupportedOperationException
-   *           If this search request does not permit the filter to be
-   *           set.
+   *           If this search request does not permit the filter to be set.
    * @throws NullPointerException
    *           If {@code filter} was {@code null}.
    */
-  SearchRequest setFilter(Filter filter)
-      throws UnsupportedOperationException, NullPointerException;
+  SearchRequest setFilter(Filter filter) throws UnsupportedOperationException,
+      NullPointerException;
 
 
 
   /**
-   * Sets the filter that defines the conditions that must be fulfilled
-   * in order for an entry to be returned.
-   * 
+   * Sets the filter that defines the conditions that must be fulfilled in order
+   * for an entry to be returned.
+   *
    * @param filter
-   *          The filter that defines the conditions that must be
-   *          fulfilled in order for an entry to be returned.
+   *          The filter that defines the conditions that must be fulfilled in
+   *          order for an entry to be returned.
    * @return This search request.
    * @throws UnsupportedOperationException
-   *           If this search request does not permit the filter to be
-   *           set.
+   *           If this search request does not permit the filter to be set.
    * @throws LocalizedIllegalArgumentException
-   *           If {@code filter} is not a valid LDAP string
-   *           representation of a filter.
+   *           If {@code filter} is not a valid LDAP string representation of a
+   *           filter.
    * @throws NullPointerException
    *           If {@code filter} was {@code null}.
    */
-  SearchRequest setFilter(String filter)
-      throws UnsupportedOperationException,
+  SearchRequest setFilter(String filter) throws UnsupportedOperationException,
       LocalizedIllegalArgumentException, NullPointerException;
 
 
 
   /**
-   * Sets the distinguished name of the base entry relative to which the
-   * search is to be performed.
-   * 
+   * Sets the distinguished name of the base entry relative to which the search
+   * is to be performed.
+   *
    * @param dn
-   *          The distinguished name of the base entry relative to which
-   *          the search is to be performed.
+   *          The distinguished name of the base entry relative to which the
+   *          search is to be performed.
    * @return This search request.
    * @throws UnsupportedOperationException
-   *           If this search request does not permit the distinguished
-   *           name to be set.
+   *           If this search request does not permit the distinguished name to
+   *           be set.
    * @throws NullPointerException
    *           If {@code dn} was {@code null}.
    */
@@ -416,37 +257,34 @@
 
 
   /**
-   * Sets the distinguished name of the base entry relative to which the
-   * search is to be performed.
-   * 
+   * Sets the distinguished name of the base entry relative to which the search
+   * is to be performed.
+   *
    * @param dn
-   *          The distinguished name of the base entry relative to which
-   *          the search is to be performed.
+   *          The distinguished name of the base entry relative to which the
+   *          search is to be performed.
    * @return This search request.
    * @throws LocalizedIllegalArgumentException
-   *           If {@code dn} could not be decoded using the default
-   *           schema.
+   *           If {@code dn} could not be decoded using the default schema.
    * @throws UnsupportedOperationException
-   *           If this search request does not permit the distinguished
-   *           name to be set.
+   *           If this search request does not permit the distinguished name to
+   *           be set.
    * @throws NullPointerException
    *           If {@code dn} was {@code null}.
    */
-  SearchRequest setName(String dn)
-      throws LocalizedIllegalArgumentException,
+  SearchRequest setName(String dn) throws LocalizedIllegalArgumentException,
       UnsupportedOperationException, NullPointerException;
 
 
 
   /**
    * Sets the scope of the search.
-   * 
+   *
    * @param scope
    *          The scope of the search.
    * @return This search request.
    * @throws UnsupportedOperationException
-   *           If this search request does not permit the scope to be
-   *           set.
+   *           If this search request does not permit the scope to be set.
    * @throws NullPointerException
    *           If {@code scope} was {@code null}.
    */
@@ -456,67 +294,61 @@
 
 
   /**
-   * Sets the size limit that should be used in order to restrict the
-   * maximum number of entries returned by the search.
+   * Sets the size limit that should be used in order to restrict the maximum
+   * number of entries returned by the search.
    * <p>
    * A value of zero (the default) in this field indicates that no
-   * client-requested size limit restrictions are in effect. Servers may
-   * also enforce a maximum number of entries to return.
-   * 
+   * client-requested size limit restrictions are in effect. Servers may also
+   * enforce a maximum number of entries to return.
+   *
    * @param limit
-   *          The size limit that should be used in order to restrict
-   *          the maximum number of entries returned by the search.
+   *          The size limit that should be used in order to restrict the
+   *          maximum number of entries returned by the search.
    * @return This search request.
    * @throws UnsupportedOperationException
-   *           If this search request does not permit the size limit to
-   *           be set.
+   *           If this search request does not permit the size limit to be set.
    * @throws LocalizedIllegalArgumentException
    *           If {@code limit} was negative.
    */
-  SearchRequest setSizeLimit(int limit)
-      throws UnsupportedOperationException,
+  SearchRequest setSizeLimit(int limit) throws UnsupportedOperationException,
       LocalizedIllegalArgumentException;
 
 
 
   /**
-   * Sets the time limit that should be used in order to restrict the
-   * maximum time (in seconds) allowed for the search.
+   * Sets the time limit that should be used in order to restrict the maximum
+   * time (in seconds) allowed for the search.
    * <p>
    * A value of zero (the default) in this field indicates that no
-   * client-requested time limit restrictions are in effect for the
-   * search. Servers may also enforce a maximum time limit for the
-   * search.
-   * 
+   * client-requested time limit restrictions are in effect for the search.
+   * Servers may also enforce a maximum time limit for the search.
+   *
    * @param limit
-   *          The time limit that should be used in order to restrict
-   *          the maximum time (in seconds) allowed for the search.
+   *          The time limit that should be used in order to restrict the
+   *          maximum time (in seconds) allowed for the search.
    * @return This search request.
    * @throws UnsupportedOperationException
-   *           If this search request does not permit the time limit to
-   *           be set.
+   *           If this search request does not permit the time limit to be set.
    * @throws LocalizedIllegalArgumentException
    *           If {@code limit} was negative.
    */
-  SearchRequest setTimeLimit(int limit)
-      throws UnsupportedOperationException,
+  SearchRequest setTimeLimit(int limit) throws UnsupportedOperationException,
       LocalizedIllegalArgumentException;
 
 
 
   /**
-   * Specifies whether search results are to contain both attribute
-   * descriptions and values, or just attribute descriptions.
-   * 
+   * Specifies whether search results are to contain both attribute descriptions
+   * and values, or just attribute descriptions.
+   *
    * @param typesOnly
-   *          {@code true} if only attribute descriptions (and not
-   *          values) are to be returned, or {@code false} (the default)
-   *          if both attribute descriptions and values are to be
-   *          returned.
+   *          {@code true} if only attribute descriptions (and not values) are
+   *          to be returned, or {@code false} (the default) if both attribute
+   *          descriptions and values are to be returned.
    * @return This search request.
    * @throws UnsupportedOperationException
-   *           If this search request does not permit the types-only
-   *           parameter to be set.
+   *           If this search request does not permit the types-only parameter
+   *           to be set.
    */
   SearchRequest setTypesOnly(boolean typesOnly)
       throws UnsupportedOperationException;

--
Gitblit v1.10.0