declare namespace javax { namespace naming { namespace ldap { /** * This class is the starting context for performing * LDAPv3-style extended operations and controls. *

* See javax.naming.InitialContext and * javax.naming.InitialDirContext for details on synchronization, * and the policy for how an initial context is created. *

Request Controls

* When you create an initial context (InitialLdapContext), * you can specify a list of request controls. * These controls will be used as the request controls for any * implicit LDAP "bind" operation performed by the context or contexts * derived from the context. These are called connection request controls. * Use getConnectControls() to get a context's connection request * controls. *

* The request controls supplied to the initial context constructor * are not used as the context request controls * for subsequent context operations such as searches and lookups. * Context request controls are set and updated by using * setRequestControls(). *

* As shown, there can be two different sets of request controls * associated with a context: connection request controls and context * request controls. * This is required for those applications needing to send critical * controls that might not be applicable to both the context operation and * any implicit LDAP "bind" operation. * A typical user program would do the following: *

             * InitialLdapContext lctx = new InitialLdapContext(env, critConnCtls);
             * lctx.setRequestControls(critModCtls);
             * lctx.modifyAttributes(name, mods);
             * Controls[] respCtls =  lctx.getResponseControls();
             * 
* It specifies first the critical controls for creating the initial context * (critConnCtls), and then sets the context's request controls * (critModCtls) for the context operation. If for some reason * lctx needs to reconnect to the server, it will use * critConnCtls. See the LdapContext interface for * more discussion about request controls. *

* Service provider implementors should read the "Service Provider" section * in the LdapContext class description for implementation details. * @author Rosanna Lee * @author Scott Seligman * @author Vincent Ryan * @see LdapContext * @see javax.naming.InitialContext * @see javax.naming.directory.InitialDirContext * @see javax.naming.spi.NamingManager#setInitialContextFactoryBuilder * @since 1.3 */ // @ts-ignore class InitialLdapContext extends javax.naming.directory.InitialDirContext implements javax.naming.ldap.LdapContext { /** * Constructs an initial context using no environment properties or * connection request controls. * Equivalent to new InitialLdapContext(null, null). * @throws NamingException if a naming exception is encountered */ // @ts-ignore constructor() /** * Constructs an initial context * using environment properties and connection request controls. * See javax.naming.InitialContext for a discussion of * environment properties. *

This constructor will not modify its parameters or * save references to them, but may save a clone or copy. * Caller should not modify mutable keys and values in * environment after it has been passed to the constructor. *

connCtls is used as the underlying context instance's * connection request controls. See the class description * for details. * @param environment * environment used to create the initial DirContext. * Null indicates an empty environment. * @param connCtls * connection request controls for the initial context. * If null, no connection request controls are used. * @throws NamingException if a naming exception is encountered * @see #reconnect * @see LdapContext#reconnect */ // @ts-ignore constructor(environment: java.util.Hashtable, connCtls: javax.naming.ldap.Control[]) // @ts-ignore public extendedOperation(request: javax.naming.ldap.ExtendedRequest): javax.naming.ldap.ExtendedResponse // @ts-ignore public newInstance(reqCtls: javax.naming.ldap.Control[]): javax.naming.ldap.LdapContext // @ts-ignore public reconnect(connCtls: javax.naming.ldap.Control[]): void // @ts-ignore public getConnectControls(): javax.naming.ldap.Control[] // @ts-ignore public setRequestControls(requestControls: javax.naming.ldap.Control[]): void // @ts-ignore public getRequestControls(): javax.naming.ldap.Control[] // @ts-ignore public getResponseControls(): javax.naming.ldap.Control[] } } } }