Класс InitialLdapContext
- java.lang.Object
-
- javax.naming.InitialContext
-
- javax.naming.directory.InitialDirContext
-
- javax.naming.ldap.InitialLdapContext
- Все реализованные интерфейсы:
- Context, DirContext, LdapContext
public class InitialLdapContext extends InitialDirContext implements LdapContext
Этот класс является контекстом для выполнения расширенных операций LDAPv3 и управлениями.
См. javax.naming.InitialContext и javax.naming.InitialDirContext для получения подробностей о синхронизации и политике создания начального контекста.
Управляющие элементы запроса
При создании начального контекста (InitialLdapContext), можно указать список управляющих элементов запроса. Эти управляющие элементы будут использоваться в качестве управляющих элементов запроса для любой неявной операции «связывания» LDAP, выполняемой контекстом или контекстами, полученными из контекста. Они называются управляющими элементами запроса соединения. Используйте getConnectControls() для получения управляющих элементов запроса соединения контекста. Управляющие элементы запроса, предоставленные конструктору начального контекста, не используются в качестве управляющих элементов запроса контекста для последующих операций контекста, таких как поиск и поиск по ключу. Управляющие элементы запроса контекста устанавливаются и обновляются с помощью setRequestControls().
Как показано, с контекстом могут быть связаны два разных набора управляющих элементов запроса: управляющие элементы запроса соединения и управляющие элементы запроса контекста. Это необходимо для тех приложений, которым нужно отправлять критические управляющие элементы, которые могут быть неприменимы как к операции контекста, так и к любой неявной операции «связывания» LDAP. Типичная программа пользователя выполнит следующие действия:
InitialLdapContext lctx = new InitialLdapContext(env, critConnCtls); lctx.setRequestControls(critModCtls); lctx.modifyAttributes(name, mods); Controls[] respCtls = lctx.getResponseControls();Она сначала указывает критические управляющие элементы для создания начального контекста (
critConnCtls), а затем устанавливает управляющие элементы запроса контекста (critModCtls) для операции контекста. Если по какой-то причине lctx необходимо повторно подключиться к серверу, будет использоваться critConnCtls. См. интерфейс LdapContext для получения дополнительной информации об управляющих элементах запроса. Реализаторы поставщиков услуг должны прочитать раздел «Поставщик услуг» в описании класса LdapContext для получения подробностей о реализации.
- С тех пор:
- 1.3
- См. также:
-
LdapContext,InitialContext,InitialDirContext,NamingManager.setInitialContextFactoryBuilder(javax.naming.spi.InitialContextFactoryBuilder)
Поля
Поля унаследованные от класса javax.naming.InitialContext
defaultInitCtx, gotDefault, myProps Поля унаследованные от интерфейса javax.naming.ldap.LdapContext
CONTROL_FACTORIES Поля унаследованные от интерфейса javax.naming.directory.DirContext
ADD_ATTRIBUTE, REMOVE_ATTRIBUTE, REPLACE_ATTRIBUTE Поля унаследованные от интерфейса javax.naming.Context
APPLET, AUTHORITATIVE, BATCHSIZE, DNS_URL, INITIAL_CONTEXT_FACTORY, LANGUAGE, OBJECT_FACTORIES, PROVIDER_URL, REFERRAL, SECURITY_AUTHENTICATION, SECURITY_CREDENTIALS, SECURITY_PRINCIPAL, SECURITY_PROTOCOL, STATE_FACTORIES, URL_PKG_PREFIXES Конструкторы
| Конструктор и описание |
|---|
InitialLdapContext() Конструирует начальный контекст без свойств среды или управляющих элементов запроса соединения. |
InitialLdapContext(Hashtable<?,?> environment,
Control[] connCtls) Конструирует начальный контекст с использованием свойств среды и управляющих элементов запроса соединения. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
ExtendedResponse |
extendedOperation(ExtendedRequest request) Выполняет расширенную операцию. |
Control[] |
getConnectControls() Возвращает управляющие элементы запроса соединения, действующие для этого контекста. |
Control[] |
getRequestControls() Возвращает управляющие элементы запроса, действующие для данного контекста. |
Control[] |
getResponseControls() Возвращает управляющие элементы ответа, полученные в результате последнего метода, вызванного в этом контексте. |
LdapContext |
newInstance(Control[] reqCtls) Создает новый экземпляр этого контекста, инициализированный управляющими элементами запроса. |
void |
reconnect(Control[] connCtls) Подключается к серверу LDAP с использованием предоставленных управляющих элементов и среды данного контекста. |
void |
setRequestControls(Control[] requestControls) Устанавливает управляющие элементы запроса для методов, которые будут вызваны впоследствии в данном контексте. |
Методы унаследованные от класса javax.naming.directory.InitialDirContext
bind, bind, createSubcontext, createSubcontext, getAttributes, getAttributes, getAttributes, getAttributes, getSchema, getSchema, getSchemaClassDefinition, getSchemaClassDefinition, modifyAttributes, modifyAttributes, modifyAttributes, modifyAttributes, rebind, rebind, search, search, search, search, search, search, search, search Методы унаследованные от класса javax.naming.InitialContext
addToEnvironment, bind, bind, close, composeName, composeName, createSubcontext, createSubcontext, destroySubcontext, destroySubcontext, doLookup, doLookup, getDefaultInitCtx, getEnvironment, getNameInNamespace, getNameParser, getNameParser, getURLOrDefaultInitCtx, getURLOrDefaultInitCtx, init, list, list, listBindings, listBindings, lookup, lookup, lookupLink, lookupLink, rebind, rebind, removeFromEnvironment, rename, rename, unbind, unbind Методы унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Методы унаследованные от интерфейса javax.naming.directory.DirContext
bind, bind, createSubcontext, createSubcontext, getAttributes, getAttributes, getAttributes, getAttributes, getSchema, getSchema, getSchemaClassDefinition, getSchemaClassDefinition, modifyAttributes, modifyAttributes, modifyAttributes, modifyAttributes, rebind, rebind, search, search, search, search, search, search, search, search Методы унаследованные от интерфейса javax.naming.Context
addToEnvironment, bind, bind, close, composeName, composeName, createSubcontext, createSubcontext, destroySubcontext, destroySubcontext, getEnvironment, getNameInNamespace, getNameParser, getNameParser, list, list, listBindings, listBindings, lookup, lookup, lookupLink, lookupLink, rebind, rebind, removeFromEnvironment, rename, rename, unbind, unbind Конструкторы
InitialLdapContext
public InitialLdapContext()
throws NamingException Создаёт контекст по умолчанию без свойств среды или управляющих запросов подключения. Эквивалентно new InitialLdapContext(null, null).
- Использует:
-
NamingException- если обнаружено исключение именования
InitialLdapContext
public InitialLdapContext(Hashtable<?,?> environment,
Control[] connCtls)
throws NamingException Создаёт начальный контекст с использованием свойств среды и управляющих запросов подключения. См. javax.naming.InitialContext для обсуждения свойств среды.
Данный конструктор не будет изменять или сохранять ссылки на свои параметры, но может сохранить клон или копию. Вызывающий код не должен изменять изменяемые ключи и значения в environment после того, как они были переданы в конструктор.
connCtls используется в качестве управляющих запросов подключения базового экземпляра контекста. Подробности см. в описании класса.
- Параметры:
-
environment- среда, используемая для создания начального DirContext. Null указывает на пустую среду. -
connCtls- управляющие запросы подключения для начального контекста. Если null, управляющие запросы подключения не используются. - Использует:
-
NamingException- если обнаружено исключение именования - См. также:
-
reconnect(javax.naming.ldap.Control[]),LdapContext.reconnect(javax.naming.ldap.Control[])
Методы
extendedOperation
public ExtendedResponse extendedOperation(ExtendedRequest request)
throws NamingException Описание скопировано из интерфейса: LdapContext
Выполняет расширенную операцию. Этот метод используется для поддержки расширенных операций LDAPv3.
- Определено в:
-
extendedOperationв интерфейсеLdapContext - Параметры:
-
request- запрос, который необходимо выполнить (не null). - Возвращает:
- Возможный ответ операции (null). null означает, что операция не сгенерировала ответа.
- Использует:
-
NamingException- если произошла ошибка при выполнении расширенной операции.
newInstance
public LdapContext newInstance(Control[] reqCtls)
throws NamingException Описание скопировано из интерфейса: LdapContext
Создаёт новый экземпляр этого контекста, инициализированный с использованием управляющих запросов. Этот метод является методом-обёрткой для создания нового экземпляра этого контекста в целях многопоточного доступа. Например, если несколько потоков хотят использовать различные управляющие запросы контекста, каждый поток может использовать этот метод для получения собственной копии этого контекста и установки/получения управляющих запросов контекста без необходимости синхронизации с другими потоками.
Новый контекст имеет те же свойства среды и управляющие запросы подключения, что и этот контекст. Подробности см. в описании класса. Реализации также могут позволить этому контексту и новому контексту использовать одно и то же сетевое подключение или другие ресурсы, если это не нарушает независимости каждого контекста.
- Определено в:
-
newInstanceв интерфейсеLdapContext - Параметры:
-
reqCtls- Возможно null управляющие запросы для использования в новом контексте. Если null, контекст инициализируется без управляющих запросов. - Возвращает:
- Не null экземпляр
LdapContext. - Использует:
-
NamingException- если произошла ошибка при создании нового экземпляра. - См. также:
InitialLdapContext
reconnect
public void reconnect(Control[] connCtls)
throws NamingException Описание скопировано из интерфейса: LdapContext
Подключается к серверу LDAP с использованием предоставленных управляющих запросов и среды этого контекста.
Этот метод является способом явного запуска операции "bind" LDAP. Например, вы можете использовать этот метод для установки управляющих запросов для операции LDAP "bind" или для явного подключения к серверу, чтобы получить управляющие запросы ответа, возвращаемые операцией LDAP "bind".
Этот метод устанавливает connCtls данного контекста в качестве новых управляющих запросов подключения. Управляющие запросы контекста этого контекста не затронуты. После вызова этого метода любые последующие неявные переподключения будут выполняться с использованием connCtls. connCtls также используются в качестве управляющих запросов подключения для новых экземпляров контекста, полученных из этого контекста. Эти управляющие запросы подключения не затронуты setRequestControls().
Реализаторы поставщиков услуг должны прочитать раздел "Поставщик услуг" в описании класса для получения подробностей о реализации.
- Определено в:
-
reconnectв интерфейсеLdapContext - Параметры:
-
connCtls- Возможно null управляющие запросы для использования. Если null, управляющие запросы не используются. - Использует:
-
NamingException- если произошла ошибка при переподключении. - См. также:
-
LdapContext.getConnectControls(),LdapContext.newInstance(javax.naming.ldap.Control[])
getConnectControls
public Control[] getConnectControls()
throws NamingException Описание скопировано из интерфейса: LdapContext
Возвращает управляющие запросы подключения, действующие для этого контекста. Управляющие запросы принадлежат реализации JNDI и неизменяемы. Ни массив, ни управляющие запросы не могут быть изменены вызывающим кодом.
- Определено в:
-
getConnectControlsв интерфейсеLdapContext - Возвращает:
- Возможный массив управляющих запросов (null). null означает, что для этого контекста не были установлены управляющие запросы подключения.
- Использует:
-
NamingException- если произошла ошибка при получении управляющих запросов.
setRequestControls
public void setRequestControls(Control[] requestControls)
throws NamingException Описание скопировано из интерфейса: LdapContext
Устанавливает управляющие запросы для методов, которые будут вызваны впоследствии на этом контексте. Управляющие запросы принадлежат реализации JNDI и неизменяемы. Ни массив, ни управляющие запросы не могут быть изменены вызывающим кодом.
Это удаляет все предыдущие управляющие запросы и добавляет requestControls для использования последующими методами, вызываемыми на этом контексте. Этот метод не влияет на управляющие запросы подключения этого контекста.
Обратите внимание, что requestControls будет действовать до следующего вызова setRequestControls(). Вы должны явно вызвать setRequestControls() с null или пустым массивом, чтобы очистить управляющие запросы, если вы не хотите, чтобы они больше влияли на методы контекста. Для проверки, какие управляющие запросы действуют для этого контекста, используйте getRequestControls().
- Определено в:
-
setRequestControlsв интерфейсеLdapContext - Параметры:
-
requestControls- Возможно null управляющие запросы для использования. Если null, управляющие запросы не используются. - Использует:
-
NamingException- если произошла ошибка при установке управляющих запросов. - См. также:
LdapContext.getRequestControls()
getRequestControls
public Control[] getRequestControls()
throws NamingException Описание скопировано из интерфейса: LdapContext
Возвращает управляющие запросы, действующие для этого контекста. Управляющие запросы принадлежат реализации JNDI и неизменяемы. Ни массив, ни управляющие запросы не могут быть изменены вызывающим кодом.
- Определено в:
-
getRequestControlsв интерфейсеLdapContext - Возвращает:
- Возможный массив управляющих запросов (null). null означает, что для этого контекста не были установлены управляющие запросы.
- Использует:
-
NamingException- если произошла ошибка при получении управляющих запросов. - См. также:
LdapContext.setRequestControls(javax.naming.ldap.Control[])
getResponseControls
public Control[] getResponseControls()
throws NamingException Описание скопировано из интерфейса: LdapContext
Возвращает управляющие запросы ответа, полученные в результате последнего вызова метода на этом контексте. Управляющие запросы ответа принадлежат реализации JNDI и неизменяемы. Ни массив, ни управляющие запросы не могут быть изменены вызывающим кодом.
Эти управляющие запросы ответа могут быть сгенерированы успешной или неудачной операцией.
Когда вызывается метод контекста, который может возвращать управляющие запросы ответа, управляющие запросы ответа от предыдущего вызова метода очищаются. getResponseControls() возвращает все управляющие запросы ответа, сгенерированные операциями LDAP, используемыми методом контекста, в порядке получения от сервера LDAP. Вызов getResponseControls() не очищает управляющие запросы ответа. Вы можете вызывать его многократно (и получать одни и те же управляющие запросы) до тех пор, пока не будет вызван следующий метод контекста, который может вернуть управляющие запросы.
- Определено в:
-
getResponseControlsв интерфейсеLdapContext - Возвращает:
- Возможный массив управляющих запросов (null). Если null, предыдущий вызов метода на этом контексте не сгенерировал управляющих запросов.
- Использует:
-
NamingException- если произошла ошибка при получении управляющих запросов ответа.
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.