mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

matthew_swift
28.47.2010 f2160f4bd1c8ac67e5a86a6710d431e8932877f9
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;
}