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/GenericBindRequest.java |  187 +++++++++++++---------------------------------
 1 files changed, 53 insertions(+), 134 deletions(-)

diff --git a/sdk/src/org/opends/sdk/requests/GenericBindRequest.java b/sdk/src/org/opends/sdk/requests/GenericBindRequest.java
index a10905e..1776617 100644
--- a/sdk/src/org/opends/sdk/requests/GenericBindRequest.java
+++ b/sdk/src/org/opends/sdk/requests/GenericBindRequest.java
@@ -29,33 +29,24 @@
 
 
 
-import org.opends.sdk.ByteString;
-import org.opends.sdk.DN;
-import org.opends.sdk.LocalizedIllegalArgumentException;
-import org.opends.sdk.ResultCode;
-import org.opends.sdk.controls.Control;
+import java.util.List;
 
+import org.opends.sdk.*;
+import org.opends.sdk.controls.Control;
+import org.opends.sdk.controls.ControlDecoder;
 
 
 
 /**
- * A generic Bind request which should be used for unsupported
- * authentication methods. Servers that do not support a choice supplied
- * by a client return a Bind response with the result code set to
+ * A generic Bind request which should be used for unsupported authentication
+ * methods. Servers that do not support a choice supplied by a client return a
+ * Bind response with the result code set to
  * {@link ResultCode#AUTH_METHOD_NOT_SUPPORTED}.
  */
 public interface GenericBindRequest extends BindRequest
 {
   /**
-   * 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}
    */
   GenericBindRequest addControl(Control control)
       throws UnsupportedOperationException, NullPointerException;
@@ -63,33 +54,23 @@
 
 
   /**
-   * Removes all the controls included with this request.
-   * 
-   * @return This request.
-   * @throws UnsupportedOperationException
-   *           If this request does not permit controls to be removed.
+   * {@inheritDoc}
    */
-  GenericBindRequest clearControls()
-      throws UnsupportedOperationException;
+  BindClient createBindClient(String serverName) throws ErrorResultException;
 
 
 
   /**
-   * Returns the authentication mechanism identifier for this generic
-   * bind request. Note that value {@code 0} is reserved for simple
-   * authentication, {@code 1} and {@code 2} are reserved but unused,
-   * and {@code 3} is reserved for SASL authentication.
-   * 
-   * @return The authentication mechanism identifier.
+   * {@inheritDoc}
    */
   byte getAuthenticationType();
 
 
 
   /**
-   * Returns the authentication information for this generic bind
-   * request in a form defined by the authentication mechanism.
-   * 
+   * Returns the authentication information for this bind request. The content
+   * is defined by the authentication mechanism.
+   *
    * @return The authentication information.
    */
   ByteString getAuthenticationValue();
@@ -97,79 +78,40 @@
 
 
   /**
-   * 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}.
+   * {@inheritDoc}
    */
-  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();
+  <C extends Control> C getControl(ControlDecoder<C> decoder,
+      DecodeOptions options) throws NullPointerException, DecodeException;
 
 
 
   /**
    * {@inheritDoc}
    */
-  DN getName();
+  List<Control> getControls();
 
 
 
   /**
-   * Indicates whether or not this request has any controls.
-   * 
-   * @return {@code true} if this request has any controls, otherwise
-   *         {@code false}.
+   * {@inheritDoc}
    */
-  boolean hasControls();
+  String getName();
 
 
 
   /**
-   * 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 authentication mechanism identifier for this generic bind
-   * request. Note that value {@code 0} is reserved for simple
-   * authentication, {@code 1} and {@code 2} are reserved but unused,
-   * and {@code 3} is reserved for SASL authentication.
-   * 
+   * Sets the authentication mechanism identifier for this generic bind request.
+   * Note that value {@code 0} is reserved for simple authentication, {@code 1}
+   * and {@code 2} are reserved but unused, and {@code 3} is reserved for SASL
+   * authentication.
+   *
    * @param type
-   *          The authentication mechanism identifier for this generic
-   *          bind request.
+   *          The authentication mechanism identifier for this generic bind
+   *          request.
    * @return This generic bind request.
    * @throws UnsupportedOperationException
-   *           If this generic bind request does not permit the
-   *           authentication type to be set.
+   *           If this generic bind request does not permit the authentication
+   *           type to be set.
    */
   GenericBindRequest setAuthenticationType(byte type)
       throws UnsupportedOperationException;
@@ -177,16 +119,16 @@
 
 
   /**
-   * Sets the authentication information for this generic bind request
-   * in a form defined by the authentication mechanism.
-   * 
+   * Sets the authentication information for this generic bind request in a form
+   * defined by the authentication mechanism.
+   *
    * @param bytes
-   *          The authentication information for this generic bind
-   *          request in a form defined by the authentication mechanism.
+   *          The authentication information for this generic bind request in a
+   *          form defined by the authentication mechanism.
    * @return This generic bind request.
    * @throws UnsupportedOperationException
-   *           If this generic bind request does not permit the
-   *           authentication bytes to be set.
+   *           If this generic bind request does not permit the authentication
+   *           bytes to be set.
    * @throws NullPointerException
    *           If {@code bytes} was {@code null}.
    */
@@ -196,49 +138,26 @@
 
 
   /**
-   * Sets the distinguished name of the Directory object that the client
-   * wishes to bind as. The distinguished name may be empty (but never
-   * {@code null} when used for of anonymous binds, or when using SASL
-   * authentication. The server shall not dereference any aliases in
-   * locating the named object.
-   * 
-   * @param dn
-   *          The distinguished name of the Directory object that the
-   *          client wishes to bind as.
+   * Sets the name of the Directory object that the client wishes to bind as.
+   * The name may be empty (but never {@code null} when used for of anonymous
+   * binds, or when using SASL authentication. The server shall not dereference
+   * any aliases in locating the named object.
+   * <p>
+   * The LDAP protocol defines the Bind name to be a distinguished name, however
+   * some LDAP implementations have relaxed this constraint and allow other
+   * identities to be used, such as the user's email address.
+   *
+   * @param name
+   *          The name of the Directory object that the client wishes to bind
+   *          as.
    * @return This bind request.
    * @throws UnsupportedOperationException
-   *           If this bind request does not permit the distinguished
-   *           name to be set.
+   *           If this bind request does not permit the distinguished name to be
+   *           set.
    * @throws NullPointerException
-   *           If {@code dn} was {@code null}.
+   *           If {@code name} was {@code null}.
    */
-  GenericBindRequest setName(DN dn)
-      throws UnsupportedOperationException, NullPointerException;
-
-
-
-  /**
-   * Sets the distinguished name of the Directory object that the client
-   * wishes to bind as. The distinguished name may be empty (but never
-   * {@code null} when used for of anonymous binds, or when using SASL
-   * authentication. The server shall not dereference any aliases in
-   * locating the named object.
-   * 
-   * @param dn
-   *          The distinguished name of the Directory object that the
-   *          client wishes to bind as.
-   * @return This bind request.
-   * @throws LocalizedIllegalArgumentException
-   *           If {@code dn} could not be decoded using the default
-   *           schema.
-   * @throws UnsupportedOperationException
-   *           If this bind request does not permit the distinguished
-   *           name to be set.
-   * @throws NullPointerException
-   *           If {@code dn} was {@code null}.
-   */
-  GenericBindRequest setName(String dn)
-      throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException;
+  GenericBindRequest setName(String name) throws UnsupportedOperationException,
+      NullPointerException;
 
 }

--
Gitblit v1.10.0