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/SimpleBindRequest.java |  229 ++++++++++++++++++++------------------------------------
 1 files changed, 83 insertions(+), 146 deletions(-)

diff --git a/sdk/src/org/opends/sdk/requests/SimpleBindRequest.java b/sdk/src/org/opends/sdk/requests/SimpleBindRequest.java
index 47b4072..7109836 100644
--- a/sdk/src/org/opends/sdk/requests/SimpleBindRequest.java
+++ b/sdk/src/org/opends/sdk/requests/SimpleBindRequest.java
@@ -29,11 +29,14 @@
 
 
 
-import org.opends.sdk.ByteString;
-import org.opends.sdk.DN;
-import org.opends.sdk.LocalizedIllegalArgumentException;
-import org.opends.sdk.controls.Control;
+import java.util.List;
 
+import org.opends.sdk.ByteString;
+import org.opends.sdk.DecodeException;
+import org.opends.sdk.DecodeOptions;
+import org.opends.sdk.ErrorResultException;
+import org.opends.sdk.controls.Control;
+import org.opends.sdk.controls.ControlDecoder;
 
 
 
@@ -41,26 +44,18 @@
  * The simple authentication method of the Bind Operation provides three
  * authentication mechanisms:
  * <ul>
- * <li>An anonymous authentication mechanism, in which both the name
- * (the bind DN) and password are zero length.
- * <li>An unauthenticated authentication mechanism using credentials
- * consisting of a name (the bind DN) and a zero length password.
- * <li>A name/password authentication mechanism using credentials
- * consisting of a name (the bind DN) and a password.
+ * <li>An anonymous authentication mechanism, in which both the name and
+ * password are zero length.
+ * <li>An unauthenticated authentication mechanism using credentials consisting
+ * of a name and a zero length password.
+ * <li>A name/password authentication mechanism using credentials consisting of
+ * a name and a password.
  * </ul>
  */
 public interface SimpleBindRequest 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}
    */
   SimpleBindRequest addControl(Control control)
       throws UnsupportedOperationException, NullPointerException;
@@ -68,163 +63,105 @@
 
 
   /**
-   * Removes all the controls included with this request.
-   * 
-   * @return This request.
-   * @throws UnsupportedOperationException
-   *           If this request does not permit controls to be removed.
+   * {@inheritDoc}
    */
-  SimpleBindRequest clearControls()
-      throws UnsupportedOperationException;
+  BindClient createBindClient(String serverName) throws ErrorResultException;
 
 
 
   /**
-   * 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}.
+   * Returns the authentication mechanism identifier for this simple bind
+   * request as defined by the LDAP protocol, which is always {@code 0x80}.
+   *
+   * @return The authentication mechanism identifier.
    */
-  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();
+  byte getAuthenticationType();
 
 
 
   /**
    * {@inheritDoc}
    */
-  DN getName();
+  <C extends Control> C getControl(ControlDecoder<C> decoder,
+      DecodeOptions options) throws NullPointerException, DecodeException;
 
 
 
   /**
-   * Returns the password of the Directory object that the client wishes
-   * to bind as. The password may be empty (but never {@code null}) when
-   * used for of anonymous or unauthenticated binds.
-   * 
-   * @return The password of the Directory object that the client wishes
-   *         to bind as.
+   * {@inheritDoc}
+   */
+  List<Control> getControls();
+
+
+
+  /**
+   * {@inheritDoc}
+   */
+  String getName();
+
+
+
+  /**
+   * Returns the password of the Directory object that the client wishes to bind
+   * as. The password may be empty (but never {@code null}) when used for of
+   * anonymous or unauthenticated binds.
+   *
+   * @return The password of the Directory object that the client wishes to bind
+   *         as.
    */
   ByteString getPassword();
 
 
 
   /**
-   * Returns the password of the Directory object that the client wishes
-   * to bind as decoded as a UTF-8 string. The password may be empty
-   * (but never {@code null}) when used for of anonymous or
-   * unauthenticated binds.
-   * 
-   * @return The password of the Directory object that the client wishes
-   *         to bind as decoded as a UTF-8 string.
+   * Returns the password of the Directory object that the client wishes to bind
+   * as decoded as a UTF-8 string. The password may be empty (but never {@code
+   * null}) when used for of anonymous or unauthenticated binds.
+   *
+   * @return The password of the Directory object that the client wishes to bind
+   *         as decoded as a UTF-8 string.
    */
   String getPasswordAsString();
 
 
 
   /**
-   * Indicates whether or not this request has any controls.
-   * 
-   * @return {@code true} if this request has any controls, otherwise
-   *         {@code false}.
-   */
-  boolean hasControls();
-
-
-
-  /**
-   * 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 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}.
    */
-  SimpleBindRequest setName(DN dn)
-      throws UnsupportedOperationException, NullPointerException;
+  SimpleBindRequest setName(String name) 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}.
-   */
-  SimpleBindRequest setName(String dn)
-      throws LocalizedIllegalArgumentException,
-      UnsupportedOperationException, NullPointerException;
-
-
-
-  /**
-   * Sets the password of the Directory object that the client wishes to
-   * bind as. The password may be empty (but never {@code null}) when
-   * used for of anonymous or unauthenticated binds.
-   * 
+   * Sets the password of the Directory object that the client wishes to bind
+   * as. The password may be empty (but never {@code null}) when used for of
+   * anonymous or unauthenticated binds.
+   *
    * @param password
-   *          The password of the Directory object that the client
-   *          wishes to bind as, which may be empty.
+   *          The password of the Directory object that the client wishes to
+   *          bind as, which may be empty.
    * @return This simple bind request.
    * @throws UnsupportedOperationException
-   *           If this simple bind request does not permit the password
-   *           to be set.
+   *           If this simple bind request does not permit the password to be
+   *           set.
    * @throws NullPointerException
    *           If {@code password} was {@code null}.
    */
@@ -234,18 +171,18 @@
 
 
   /**
-   * Sets the password of the Directory object that the client wishes to
-   * bind as. The password will be converted to a UTF-8 octet string.
-   * The password may be empty (but never {@code null}) when used for of
-   * anonymous or unauthenticated binds.
-   * 
+   * Sets the password of the Directory object that the client wishes to bind
+   * as. The password will be converted to a UTF-8 octet string. The password
+   * may be empty (but never {@code null}) when used for of anonymous or
+   * unauthenticated binds.
+   *
    * @param password
-   *          The password of the Directory object that the client
-   *          wishes to bind as, which may be empty.
+   *          The password of the Directory object that the client wishes to
+   *          bind as, which may be empty.
    * @return This simple bind request.
    * @throws UnsupportedOperationException
-   *           If this simple bind request does not permit the password
-   *           to be set.
+   *           If this simple bind request does not permit the password to be
+   *           set.
    * @throws NullPointerException
    *           If {@code password} was {@code null}.
    */

--
Gitblit v1.10.0